1. 题目
2. 题解
23333 纯卡常过的。
1000的数据从 TLE 卡到 AC,关键跑的还挺快的,最慢的点 300+ms(原本 1000ms 都过不了)
具体 n3的暴力就是设 f[i]为用时为 i的最大收益。
枚举时间、起点、步数即可。
复杂度为 O(n3)
代码长这样(会 T):
于是我们 T 了 1 个点,而且还有一个点是 900+ms 卡过去的。
仔细观察发现取模那里看的很不爽:
取模是很慢的,于是改成:
实测这样就能过了 233333
但是最慢的点(就是原本 T 掉了的那个点)还是要 800+ms
于是我们继续优化,怎么优化呢?
在所有的 for 循环变量前面加上 register(寄存器)(就像这样):
实测最慢 300ms+
我去,,,以后局部变量全开 register 了,太神了。。。
最后再在文件头部加一个 optimize,又快了几 ms
最后代码长这样:
0 条评论