标签:DP,组合数学

Time Limit: 1 Sec  Memory Limit: 128MB
Submit: 335  Solved: 235
[Submit][Status][Discuss]

Description

约翰要带N(1≤N≤100000)只牛去参加集会里的展示活动,这些牛可以是牡牛,也可以是牝牛.牛们要站成一排.但是牡牛是好斗的,为了避免牡牛闹出乱子,约翰决定任意两只牡牛之间至少要有K(O≤K<N)只牝牛.

请计算一共有多少种排队的方法.所有牡牛可以看成是相同的,所有牝牛也一样.答案对5000011取模

Input

一行,输入两个整数N和K.

Output

一个整数,表示排队的方法数.

Sample Input

4  2

Sample Output

6

样例说明

6种方法分别是:牝牝牝牝,牡牝牝牝,牝牡牝牝,牝牝牡牝,牝牝牝牡,牡牝牝牡

DP裸题,一眼秒掉

F[i]=f[i-1]+f[i-k-1]

震惊!hzwer竟然用奇奇怪怪的组合数学写

Code

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
#define rep(i,a,b) for(int i=a;i<=b;i++)
#define dep(i,a,b) for(int i=a;i>=b;i--)
#define mem(x,num) memset(x,num,sizeof x)
#define LL long long
using namespace std;
inline LL read()
{LL f=1,x=0;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*f;
}
const int maxn=1e7+6,mod=5000011;
int n,k,f[maxn];
int main()
{n=read(),k=read();f[1]=2;k++;rep(i,2,n)f[i]=(f[i-1]+(i>k?f[i-k]:1))%mod;cout<<f[n]<<endl;return 0;
}

BZOJ3398 [Usaco2009 Feb]Bullcow 牡牛和牝牛相关推荐

  1. bzoj3398 [Usaco2009 Feb]Bullcow 牡牛和牝牛

    Description 约翰要带N(1≤N≤100000)只牛去参加集会里的展示活动,这些牛可以是牡牛,也可以是牝牛.牛们要站成一排.但是牡牛是好斗的,为了避免牡牛闹出乱子,约翰决定任意两只牡牛之间至 ...

  2. bzoj 3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛(DP)

    3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 353  Solved: 248 ...

  3. 3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛

    3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 243  Solved: 167 ...

  4. [Usaco2009 Feb]Bullcow 牡牛和牝牛

    原题链接https://www.lydsy.com/JudgeOnline/problem.php?id=3398 容易想到的一种\(dp\)就是:设\(dp[i][j]\)表示前\(i\)头牛里面有 ...

  5. bzoj 3398 [Usaco2009 Feb]Bullcow 牡牛和牝牛——前缀和优化dp / 排列组合

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3398 好简单呀.而且是自己想出来的. dp[ i ]表示最后一个牡牛在 i 的方案数. 当前 ...

  6. bzoj 3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛

    Description 约翰要带N(1≤N≤100000)只牛去参加集会里的展示活动,这些牛可以是牡牛,也可以是牝牛.牛们要站成一排.但是牡牛是好斗的,为了避免牡牛闹出乱子,约翰决定任意两只牡牛之间至 ...

  7. 【BZOJ】3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛(排列组合+乘法逆元+欧拉定理/费马小定理)...

    http://www.lydsy.com/JudgeOnline/problem.php?id=3398 以下牡牛为a,牝牛为b. 学完排列计数后试着来写这题,"至少"一词可以给我 ...

  8. 【Usaco 2009 Feb】Bullcow 牡牛和牝牛

    [题目] 传送门 Description 约翰要带 n(1≤n≤100000)n(1≤n≤100000)n(1≤n≤100000) 只牛去参加集会里的展示活动,这些牛可以是牡牛,也可以是牝牛.牛们要站 ...

  9. 【BZOJ3398】牡牛和牝牛

    3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛 Time Limit: 1 Sec  Memory Limit: 128 MB                           ...

最新文章

  1. 阿里云Kubernetes服务 - Service Broker快速入门指南
  2. linux——关于ip、静态网络、动态网络、网关、DNS的设置
  3. IBM DS4800控制器更换和电池误告警故障处理方案
  4. 敌兵布阵 HDU - 1166 (线段树)
  5. Nature子刊:中科院动物所合作揭示灵长类血管衰老的驱动力
  6. [SDK2.2]SQL Azure (13) Azure的两种关系型数据库服务:SQL Azure与SQL Server VM的不同
  7. jieba中文处理的学习
  8. Volatility内存分析工具-某即时通讯软件Windows端数据库密钥的分析
  9. c语言程序设计 简述操作系统管理文件的方法,C语言程序设计基础实验.doc
  10. IDC:2017年医疗行业IT花费将达336.5亿
  11. 河北对口计算机计算机网络,河北对口计算机试题及答案.doc
  12. loadrunner中文件的操作
  13. k2p—b1版本刷固件遇到的问题
  14. 用户体验设计师(UE)职务描述。
  15. 计算机专业的学习方法
  16. 加入美人联盟,一起创造App增长新生态
  17. 产品经理不能做错的5件事
  18. Conwaylife_HDLbits(康威生命游戏)
  19. Vue3+Ts(coderwhy)超详细学习笔记(二)邂逅Vue3开发
  20. 基于MATLAB GUI的串口通信

热门文章

  1. JSONException: syntax error, expect [, actual string, pos 0, fieldName null
  2. 洛谷-P4287 双倍回文(Manacher)
  3. yso之Commons Collections
  4. 步进电机+protues
  5. 【python】pip安装模块下载速度太慢解决方法
  6. ITiM3.0 RoadMap
  7. 实例:爬取豆瓣评论、绘制词云图以及情感分析——以《长津湖》为例
  8. JAVA实现的微信扫描二维码支付
  9. 用Python实现URL Encoding和Decoding
  10. 一家之言—通信专业IT男的弊端