Gravatar
Riolu
积分:1074
提交:435 / 772
long long = =

题目 473 核电站问题
2016-05-28 19:45:42
Gravatar
Sky_miner
积分:2790
提交:902 / 1646
在i < M 时 f[i]显然
在i = M 时 应去除选中连续M(也就是全部选中)的一种方案
当i > M 时 方案数应该是可以选择的方案减去不合理的方案,不合理的方案,实际上就是选中连续M的方案;
所以

for(int i=1;i<=N;i++){
if(i<M) f[i]=f[i-1]<<1 ;
else if(i==M) f[i]=(f[i-1]<<1)-1;
else f[i]=(f[i-1]<<1)-f[i-M-1];
}

Gravatar
raywzy
积分:713
提交:238 / 509
这应该算递推吧= =。。
注意理解i>M时
F[i]=2*F[i-1]-F[i-M-1];
还有long long

题目 473 核电站问题
2014-07-24 12:32:09
Gravatar
OIdiot
积分:595
提交:210 / 388
分情况讨论一下吧!DP