2327. 知道秘密的人数
dp
const int MOD = 1e9+7;
class Solution {
public:
int peopleAwareOfSecret(int n, int delay, int forget) {
/*
A: 可以分享的人
B: 冻结的人
C: 忘记的人
*/
int f[n+10];
memset(f, 0, sizeof f);
f[1] = 1;
int cntb = 0;
for(int i = 1; i <= n; i++) {
// f[i+delay] ~ f[i+forget];
if(i+delay>n)cntb = (cntb + f[i]) % MOD;
for(int j=i+delay; j < i+forget && j <= n; j++) {
f[j] = (f[j] + f[i]) % MOD;
}
}
return (f[n] + cntb) % MOD;
}
};
网友评论