教训

#

教训

论如何将100分变为0分

1.      T a r j a n 1.\;\;Tarjan 1.Tarjan 缩无向图时套用原来的写法会建 4 m 4m 4m条边。
2.    2.\; 2. 在离线时,不要把 a n s = = 0 ans == 0 ans==0作为比较条件。
3.    3.\; 3. 不要偷懒而不写函数返回值类型。
4.    4.\; 4. 记得取模。
5.    5.\; 5. 在分支比较少时尽量选择 i f    e l s e if\;else ifelse语句。
6.    6.\; 6. s t r u c t struct struct远比多个数组快,所以能压成 s t r u c t struct struct就压。
7.    7.\; 7. T a r j a n Tarjan Tarjan在求割点时 s t a c k stack stack里存的是边。
8.    8.\; 8. S A SA SA中可以用 s o r t + sort+ sort+ t u p l e tuple tuple压成 l o n g    l o n g long\;long longlong来代替记排,但不要忘记 r a n k rank rank数组尾端全都是 − 1 -1 1
9.    9.\; 9. 在遇到变量莫名其妙被修改时,绝对是越界了。你看Haskell就不会这样
10.    10.\; 10. 同类型变量共享成员函数内的 s t a t i c static static变量。
11.    11.\; 11. 写线段树一定要区分右移左移(其实 define \text{define} define起来就没这么多事了)。
12.    12.\; 12. 尽量使用 i n t int int而非 l o n g    l o n g long\;long longlong,只需在乘式前使用 ( l l ) (ll) (ll),乘式末取模即可,效率有明显提升。
13.    13.\; 13. 模数千万不能错。
14.    14.\; 14. I O I IOI IOI赛制记得删文操。
15.    15.\; 15. 写莫队是区间应先扩展再收敛。
16.    16.\; 16. (尤其是图论题)搜索时要考虑状态是否完全联通(比如 T a r j a n Tarjan Tarjan)。
17.    17.\; 17. I D F T IDFT IDFT最后要 r e v e r s e ( a + 1 , a + n ) reverse(a+1, a+n) reverse(a+1,a+n)
18.    18.\; 18. 分治 F F T FFT FFT中要使多项式相乘后的长度尽可能小(大概有一半的常数)。
19.    19.\; 19. 尽量不要开大小刚刚好的数组。
20.    20.\; 20. DP \text{DP} DP数组本身有不止一种意义时, 注意特判。
21.    21.\; 21. 不要在读入多组数据使用 break \text{break} break goto \text{goto} goto等。
22.    22.\; 22. -1>>1==-1 \text{-1>>1==-1} -1>>1==-1
23.    23.\; 23. 求区间交时记得判断左端点是否跨越右端点。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值