zoukankan      html  css  js  c++  java
  • JZOJ 1292. 公牛和母牛

    题目

    Description

      FJ想N头牛(公牛或母牛)排成一排接受胡总的检阅,经研究发现公牛特别好斗,如果两头公牛离得太近就会发生冲突,通过观察两头公牛之间至少要有K(0<=K<=N)头母牛才能避免冲突。
      FJ想请你帮忙计算一共有多少种放置方法,注意所有的公牛被认为是一样的,母牛也是,所以两种放置方法被认为不同当且仅当某些位置牛的种类不同。
     

    Input

      第一行:两个空格隔开的整数N(N<=100000)和K。

    Output

      输出一个整数表示方法总数,答案可能很大,所以只需输出mod 5,000,011的值即可。
     

    Sample Input

    4 2

    Sample Output

    6
     

    Data Constraint

     
     

    Hint

    【样例说明】
    以下为6种放置方法,‘B’表示公牛,‘C’表示母牛
    CCCC
    BCCC
    CBCC
    CCBC
    CCCB
    BCCB

     

    分析

     

    • 递推
    • 当1-k f[i]=i+1;
    • >k f[i]=f[i-1]+f[i-k-1]

     

    代码

     1 #include <cmath>
     2 #include <cstdio>
     3 #include <cstring>
     4 #include <iostream>
     5 #include <algorithm>
     6 const int MOD = 5000011;
     7 using namespace std; 
     8 int f[100001];
     9 int main(){
    10     int n,k;
    11     scanf("%d%d",&n,&k);
    12     for (int i=0;i<=n;i++)
    13     {
    14         if (i<=k) f[i]=i+1;
    15         else f[i]=(f[i-1]+f[i-k-1])%MOD;
    16     }
    17     cout<<f[n];
    18     return 0;
    19 }

     

  • 相关阅读:
    【转】IOS开发:[1]Xcode5界面入门
    【转】Xcode中的iOS模拟器(iOS Simulator)的介绍和使用心得
    特征选择
    EM算法
    算法之美--3.2.3 KMP算法
    算法之美--3.2.2 MP算法
    图像质量评价方法PSNR+SSIM&&评估指标SROCC,PLCC
    C/C++二进制读写png文件
    大津法---OTSU算法
    一些优秀的面试笔试总结
  • 原文地址:https://www.cnblogs.com/zjzjzj/p/11773707.html
Copyright © 2011-2022 走看看