题解 CF474D 【Flowers】
【摘要】 一道入门DP设f[i]表示到 i 个蛋糕的方案数由题可知f[i] 可以由 f[i - 1] (只吃1 个),f[i - k](i - k > 0,吃k个)转移过来然后用sum前缀和维护一下,就可以O(1)的回答询问了void solve() { f[0] = 1; rep(i, 1, 100001) { f[i] = f[i - 1]; if(i >=...
一道入门DP
设f[i]表示到 i 个蛋糕的方案数
由题可知f[i] 可以由 f[i - 1] (只吃1 个),f[i - k](i - k > 0,吃k个)转移过来
然后用sum前缀和维护一下,就可以O(1)的回答询问了
void solve() {
f[0] = 1;
rep(i, 1, 100001) {
f[i] = f[i - 1];
if(i >= k) f[i] = (f[i] + f[i - k]) % Mod;
sum[i] = (sum[i - 1] + f[i]) % Mod;
}
while(N--) {
int l = Read(), r = Read();
printf("%lld\n", (sum[r] - sum[l - 1] + Mod) % Mod);
}
}
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)