训练总结

本文总结了编程竞赛中常见的错误及技巧,包括思维方式调整、快速乘的正确用途、双哈希应用、DFS细节处理等,旨在帮助参赛者提高解题效率。

 这里会记录一些训练时的纰漏和一些小Tips,以免以后再发生。

1、做思维题思维一定不要定向,正着想行不通就要尝试逆着想。可能很简单的题目因为没有逆着想导致浪费了很多时间。具体题目:Codeforces 305B

2、今天做题的时候试了一下快速乘,结果快速乘比普通乘在1e6的数据中慢了差不多十几倍。快速乘和普通乘的时间差距在于:快速乘一般有多次加减法和取模运算,而普通乘法为一次乘一次取模一次。使用快速乘并不是为了加快乘法速度,而是防止爆精度,因为其可以边乘边模。由lw师兄:取模是一个最费时间的运算,比如说 1、a = (a + b) % MOD;  2、a = a + b; if (a >= MOD) a -= MOD; 这样的第二种的运行速度会比第一种快,因此有时候遇到一些取模运算多而卡时的话,可以这样优化速度。

3、有时候看起来是直接用公式算的题目,如果计算很麻烦,不妨先通过计算优化时间复杂度,然后剩下的麻烦部分用模拟解决。具体题目:Codeforces 758C

4、真是太粗心了啊。不过这个好像也不知道怎么解决。具体题目:HDU 6011:Lotus and Characters(贪心)

5、双哈希两个质数:19260817 和 1e9+7.

6、数组下标看错了。要炸。

7、DFS的时候如果要修改当前的全局变量,要仔细想下修改量,回的时候溯要按照原来一样复原回来。

8、网络流的题目边的数目一定要算清楚,免得RE!!!

9、离散化要看清楚边界条件!

转载于:https://www.cnblogs.com/fightfordream/p/6294902.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值