转:给自己TopCoder SRM的建议

时间:2022-09-28 12:50:37

强哥写的。

原文链接

1. 是否需要 long long

2. 是否有 除0 的可能

3. 是否需要cmp特判精度

4. 是否必须使用double,能转化成整数运算么?怎么转换

5. 关键部分无序的问题->贪心?sort是否管用?满足怎样的顺序可以找到解(最优解)?满足某一顺序是否可以dp?graph问题?netflow?

6. 关键部分变量的取值区间是多少,可以枚举么?

7. vriable的取值范围非常大,无法枚举:是否可以仅仅使用给定的vriable(离散化)?最优解是否满足单调性,是否可以二分答案?

8. 这个问题是不是某些地方满足什么性质,大胆guess!

9. 找规律。。

10. 需要使用什么结构?最好使用哪种数据结构?

11. 关联的数学知识!

12. 正着不好做,如果反过来可以么?

13. 最优解是否是某种 极限/最值 的组合?

14. 过了系统的pretest之后,自己至少再出3组边界数据测试。

15. 递推/递归关系问题,先找到关系,再考虑优化。

16. 对于有精度要求的问题,能用 int 和 long long就一定不要用double,哪怕使用biginteger,也不要使用double,在表示的数字很大但仍旧在long long范围之内时,double很可能会丢失精度。

17. 当修改某部分代码的时候,想一下对代码整体会有什么影响,其他地方是否需要修改。

18. coding前务必严格计算复杂度;决不先做麻烦的模拟题;决不先试很可能TLE的题;决不先写自己可以搞但编码量明显很大的题目。