转:给自己TopCoder SRM的建议

本文提供了一份详尽的算法竞赛备忘清单,涵盖了从数据类型选择到特殊技巧应用的多个方面,帮助参赛者系统地检查并优化自己的算法实现。

强哥写的。

原文链接

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的题;决不先写自己可以搞但编码量明显很大的题目。

转载于:https://www.cnblogs.com/naix-x/p/3227622.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值