腾讯算法笔试

白花问题,哪里出错了啊,调了一个多小时通过0
long int mod = 1e9 + 7;
int main() {
int n;
int k;
cin >> n;
cin >> k;
for (int i = 0; i < n; i++)
{
int a;
int b;
cin >> a >> b;
if (k>b)
{
cout << 1 << endl;
continue;
}
vector<long int> dp(b + 1,0);
for (int j = 1; j < k; j++)
dp[j] = 1;
dp[k] = 2;
for (int j = k + 1; j <= b; j++)
{
dp[j] = (dp[j - 1] + dp[j - k]) % mod;
}
long int num = 0;
for (int j = a; j <= b; j++)
{
num = (num + dp[j])%mod;
}
cout << num << endl;
}
}

#腾讯##笔试题目#
全部评论
我的过了
点赞 回复 分享
发布于 2019-09-01 23:37
为什么第二题我我没看到要取模啊?
点赞 回复 分享
发布于 2019-09-02 00:21
我的dp跟你写的差不多,也是0,我结束后才想到一个,边界有问题,k>b的时候不能直接输出1,要输出a到b的累加值
点赞 回复 分享
发布于 2019-09-01 23:44

相关推荐

双非阴暗爬行:我来看看笑死我了,这名字取得好想笑(没有不好的意思)
点赞 评论 收藏
分享
运营3年修炼中接简历辅导:你的科研项目经历里,只写了你的动作,没有写你的思考和成果,不要只写使用什么进行了什么,这等于罗列你的任务,简历是为了突出你的优秀,你在什么样的任务背景下,克服了什么样的困难,针对性地做了哪些事情,最后达成了什么成果(用数据体现你的成果和效率)
点赞 评论 收藏
分享
评论
点赞
9
分享

创作者周榜

更多
牛客网
牛客企业服务