一些注意事项

算法与数据结构精华总结

 

1. 矩阵乘法中 $mat[i][j]$ 中的 i 代表的是行,不是列.

2. LCT中Splay维护的是深度逐次减小的链.

3. 后缀自动机树高为根号级别.

4. 后缀树中儿子数量 <= 27

5. LCT中每一颗splay的根节点的父亲指向的是深度最浅节点在原树中的父亲(链顶的父亲),故Link时一般要 makeRoot

6. 多项式卷积其实就是两个多项式的乘积,即初中就学的那个括号乘法展开.

7. 计数体重如果有减法运算要注意加一下模数.

8. 很多题都可以考虑反着求(如容斥一下)

9. 求导时一定要先展开,再求导,绝对不能先带值,再求导

10. LCT 在打标记前一定要先把该点 splay 到根

11. 很多时候,中间计算结果也要开 long long 

12. 算概率和期望时要注意精度问题

13. FFT中的 $len$ 必须是两个多项式最高次次幂之和(或者更大),不能往小了带. 

14. LCT 别忘了pushup

15. 开全栈命令: -Wl,--stack=512000000

16. 比较两个文件内容是否相等 : fc __    ___

17. unique 用法 : int size=unique(Arr+1,Arr+cc+1)-(Arr+1) 

18. 查找前驱的方法: it = S.lower_bound(val), it--

19. int[$10^7$] = 40mb

20. bzoj 交题一定用读入优化 + O2 + inline + register 

转载于:https://www.cnblogs.com/guangheli/p/10367647.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值