一直更新中

各种神奇的东西,包括一些板子,犯错集合,计划写的题目,做的事情。

一些板子

由于比较懒就直接写在这里了
1.自然数幂和
伯努利数:

A n s = 1 k + 1 i = 1 k + 1 C k + 1 i B k + 1 i ( n + 1 ) i

B n = 1 n + 1 i = 0 n 1 C n + 1 i B i

B的指数生成函数是
1 i >= 0 x i ( i + 1 ) !

斯特林数
F k = P n + 1 k + 1 k + 1 i = 0 k 1 S s k , i F i

S s n , m = S s n 1 , m 1 ( n 1 ) S s n 1 , m

这个不需要模数是质数
2.FWT
XOR :
t f ( A ) = ( t f ( A 0 ) + t f ( A 1 ) , t f ( A 0 ) t f ( A 1 ) )
u t f ( A ) = ( u t f ( A 0 ) + u f t ( A 1 ) 2 , ( u t f ( A 0 ) u f t ( A 1 ) 2 ) )
AND:
t f ( A ) = ( t f ( A 0 ) + t f ( A 1 ) , t f ( A 1 ) )
u t f ( A ) = ( u t f ( A 0 ) u t f ( A 1 ) , u t f ( A 1 ) )
OR:
t f ( A ) = ( t f ( A 0 ) , t f ( A 0 ) + t f ( A 1 ) )
u t f ( A ) = ( u t f ( A 0 ) , u t f ( A 1 ) u t f ( A 0 ) )
验证的话只需要验证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)

计划做的事情

搞专题(数据结构深似海)
搞文化(才怪)
抽梅林(抽不到的)
捞赤城(不存在的)

猜你喜欢

转载自blog.csdn.net/alan_cty/article/details/50966974