各种神奇的东西,包括一些板子,犯错集合,计划写的题目,做的事情。
一些板子
由于比较懒就直接写在这里了
1.自然数幂和
伯努利数:
B的指数生成函数是
斯特林数
这个不需要模数是质数
2.FWT
XOR :
AND:
OR:
验证的话只需要验证tf(A)*tf(B)=tf(C)就好了
犯错集合
1.数论题一定要开longlong!
2.数好范围的0!
3.取模什么的都CtrlCV
4.代码最好手打,不要copy,不然很容易打错细节。
5.变量最好要用就开,不要全局局部搞混(强迫症表示不知道怎么起名)
6.有些时候要%,有些时候不要%(想多了),不要搞混。
7.开数组尽量开大些,空间不值钱(大部分时候)。
8.大于10^6搜索一定要记得写bfs,当心爆栈!(Windows下的C++的栈容量太™小了)
9.卡精度的时候还是写大一点,开1e-6吧(1e-5被CCF卡掉了QwQ)
10.FFT的空间一定要记得开4倍!
11.FFT的空间一定要记得开4倍!
12.FFT的空间一定要记得开4倍!
13.做FFT的时候注意有没有把某一个串的长度变化了。
14.线性规划中若n>m,则基本可行解中至少有n−m个分量为0,也就是说,基本可行解中最多有m个分量非零。 也就是当维数很小的时候可以直接写暴力(怕单纯形写错的话)
15.开O2的题目一定要看好数据范围,一定要测试一下不同环境下是否运行结果不一样。
16.注意如果指数特别大的话底数的影响,小心爆longlong
17.LCT在rotate的时候一定要记得维护parent数组
18.问号语句的优先级很小,记得打括号
19.线段树build不能只在l=r处赋值,或者要打updata
20.FFT预处理
的时候不要用乘法直接用三角函数赋值,否则很容易挂精度。
21.写函数类型的时候一定要记得return!!!!
22.写函数类型的时候一定要记得return!!!!
23.写函数类型的时候一定要记得return!!!!
24.写递推组合数时第二维一定要记得到i
25.没有换行最好不要优输
计划写的题目
【NOI2016模拟6.27】nekopara
[Zjoi2013]K大数查询(怎么WA了QwQ)
计划做的事情
搞专题(数据结构深似海)
搞文化(才怪)
抽梅林(抽不到的)
捞赤城(不存在的)