Problem 1001 感觉结果都没错,却一直wrong answer。

ygsmangyuan | 2015-05-23 16:16:39Author
我求解出来的结果都放在数组result中,最后按照以下格式输出,求大神指点是输出格式有什么问题吗? long long i; for (i = 0; i < result.size(); ++i) { cout << "Case #" << i + 1 << ":"<< endl; cout << (result[i] % 1000000007) << endl; } 我代码运行结果依次是1,2,4,10,26,76,232,764,...,
LiLiuqi | 2015-05-23 16:18:40# 1
最后输出才求 mod,中间过程可能还是会 越long long的界
humaoli | 2015-05-23 16:18:45# 2
在保存结果时可能已经溢出了
1412180203 | 2015-05-23 17:09:26# 3
时间超限了我。。。为什么
acm201308010418 | 2015-05-23 17:46:44# 4
这几个结果一样啊,为毛WA
1412180203 | 2015-05-23 17:58:55# 5
我的结果也是1,2,4,10,26,76,232,764。。。,就是时间超限啊,为什么
ygsmangyuan | 2015-05-23 18:41:33# 6
依旧超时中,求解救....
我的答案也超时,GetSolCount时间复杂度是O(n),为啥还会超时,是不是我输入的方式有问题? cin >> cnt; while (cnt-- > 0) { cin >> n; result.push_back(sol.GetSolCount(n)); } IntType i; for (i = 0; i < result.size(); ++i) { cout << "Case #" << i + 1 << ":"<< endl; cout << result[i] << endl; }
WNJXYK | 2015-05-23 18:44:27# 7
6L 如果获得答案的时间O(n),那么T组数据O(nT) n=1000000 T=1000就超时了
ygsmangyuan | 2015-05-23 18:51:04# 8
非常感谢1L、2L和6L的帮助,O(n)也超时,看来还得另寻出路了。。。
1412180203 | 2015-05-23 18:51:05# 9
请问这题用什么方法?
wangmingling13 | 2015-05-23 18:52:09# 10
由于T比较大,所以我们应当采取先计算出1~1000000内的所有结果再使用T循环输入,直接输出答案,已AC