bzoj 3398 牡牛和牝牛
来源:互联网 发布:数码淘宝店铺简介 编辑:程序博客网 时间:2024/04/27 19:10
牝(pin 4声) 母的意思。
牡(mu 3声) 公的意思。
看到这些字我直接愣了,其实放在牝鸡司晨和牡蛎这两个词里我绝对能认出来。(是不是该去颓语文了?)
这道题
f[i]表示最后一个是公牛的方案数,=sigma(f[j])(j<i-k) 然后前缀和优化即可。
问题是hzwer用了奇怪的排列组合。
这道题可以用隔板法,设abcd是放公牛的位置,那么a,b-k,c-2*k,d-3*k单调递增,可以用隔板法解决。再想一想那个可以重复位置放的隔板法,就是a,b+1,c+2,d+3单调递增。
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<cmath>
#define md 5000011
#define ll long long
#define inf (int) 1e9
#define eps 1e-8
#define N 100010
using namespace std;
int f[N],sum[N];
int main()
{
int n,K;
scanf("%d%d",&n,&K); K++;
f[0]=sum[0]=1;
for (int i=1;i<=n;i++)
{
int j=i-K;
if (j<0) f[i]=1; else f[i]=sum[j];
sum[i]=(f[i]+sum[i-1])%md;
}
printf("%d\n",sum[n]);
return 0;
}
0 0
- bzoj 3398 牡牛和牝牛
- bzoj 3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛 动态规划
- BZOJ3398 牡牛和牝牛
- bzoj 3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛(dp+前缀和)
- 【排列组合 乘法逆元】【bzoj 3398】: [Usaco2009 Feb]Bullcow 牡牛和牝牛
- BZOJ 3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛|动态规划|排列组合
- bzoj 3398 [Usaco2009 Feb]Bullcow 牡牛和牝牛 (dp+前缀)
- bzoj3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛
- BZOJ3398 [Usaco2009 Feb]Bullcow 牡牛和牝牛
- 【bzoj3398】【Usaco2009 Feb】【Bullcow 牡牛和牝牛】【组合数学】
- 【bzoj3398】[Usaco2009 Feb]Bullcow 牡牛和牝牛 dp
- [BZOJ3398][Usaco2009 Feb]Bullcow 牡牛和牝牛(dp)
- bzoj 1303 |前缀和
- BZOJ-2337-XOR和路径
- bzoj 2257 瓶子和燃料
- BZOJ 1218 二维前缀和
- bzoj 2956: 模积和
- [BZOJ]1056 和 1862 splay
- 嵌入式Linux应用程序常用到的几个函数
- bzoj 3288 矩阵
- bzoj 1002 轮状病毒
- bzoj 4017 小Q的无敌异或
- bzoj 3534 重建
- bzoj 3398 牡牛和牝牛
- 远程控制电脑
- bzoj 2257 瓶子和燃料
- bzoj 1537 bus|cdq分治
- bzoj 3170 松鼠聚会 | 旋转坐标
- bzoj 2660 最多的方案 | dp
- poj 2411| 插头dp
- bzoj 2173 整数的lqp拆分 | dp | 找规律
- bzoj 1187 神奇的游乐园 | 插头dp