各种神奇的东西,包括一些板子,犯错集合,计划写的题目,做的事情。
一些板子
由于比较懒就直接写在这里了
1.自然数幂和
伯努利数:
A
n
s
=
1
k
+
1
∑
i
=
1
k
+
1
C
k
+
1
i
B
k
+
1
−
i
(
n
+
1
)
i
Ans={1\over {k+1}}\sum_{i=1}^{k+1}C_{k+1}^{i}B_{k+1-i}(n+1)^i
Ans=k+11i=1∑k+1Ck+1iBk+1−i(n+1)i
B
n
=
−
1
n
+
1
∑
i
=
0
n
−
1
C
n
+
1
i
B
i
B_n=-{1\over {n+1}}\sum_{i=0}^{n-1}C_{n+1}^{i}B_{i}
Bn=−n+11i=0∑n−1Cn+1iBi
B的指数生成函数是
1
∑
i
>
=
0
x
i
(
i
+
1
)
!
1\over {\sum_{i>=0}{x^i\over (i+1)!}}
∑i>=0(i+1)!xi1
斯特林数
F
k
=
P
n
+
1
k
+
1
k
+
1
−
∑
i
=
0
k
−
1
S
s
k
,
i
F
i
F_{k}={P_{n+1}^{k+1}\over {k+1}}-\sum_{i=0}^{k-1}Ss_{k,i}F_{i}
Fk=k+1Pn+1k+1−i=0∑k−1Ssk,iFi
S
s
n
,
m
=
S
s
n
−
1
,
m
−
1
−
(
n
−
1
)
S
s
n
−
1
,
m
Ss_{n,m}=Ss_{n-1,m-1}-(n-1)Ss_{n-1,m}
Ssn,m=Ssn−1,m−1−(n−1)Ssn−1,m
这个不需要模数是质数
2.FWT
XOR :
t
f
(
A
)
=
(
t
f
(
A
0
)
+
t
f
(
A
1
)
,
t
f
(
A
0
)
−
t
f
(
A
1
)
)
tf(A)=(tf(A_0)+tf(A_1),tf(A_0)-tf(A_1))
tf(A)=(tf(A0)+tf(A1),tf(A0)−tf(A1))
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
)
)
utf(A)=({utf(A_0)+uft(A_1)\over 2},({utf(A_0)-uft(A_1)\over 2}))
utf(A)=(2utf(A0)+uft(A1),(2utf(A0)−uft(A1)))
AND:
t
f
(
A
)
=
(
t
f
(
A
0
)
+
t
f
(
A
1
)
,
t
f
(
A
1
)
)
tf(A)=(tf(A_0)+tf(A_1),tf(A_1))
tf(A)=(tf(A0)+tf(A1),tf(A1))
u
t
f
(
A
)
=
(
u
t
f
(
A
0
)
−
u
t
f
(
A
1
)
,
u
t
f
(
A
1
)
)
utf(A)=(utf(A_0)-utf(A_1),utf(A_1))
utf(A)=(utf(A0)−utf(A1),utf(A1))
OR:
t
f
(
A
)
=
(
t
f
(
A
0
)
,
t
f
(
A
0
)
+
t
f
(
A
1
)
)
tf(A)=(tf(A_0),tf(A_0)+tf(A_1))
tf(A)=(tf(A0),tf(A0)+tf(A1))
u
t
f
(
A
)
=
(
u
t
f
(
A
0
)
,
u
t
f
(
A
1
)
−
u
t
f
(
A
0
)
)
utf(A)=(utf(A_0),utf(A_1)-utf(A_0))
utf(A)=(utf(A0),utf(A1)−utf(A0))
验证的话只需要验证tf(A)*tf(B)=tf©就好了
##犯错集合
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预处理
ω
\omega
ω的时候不要用乘法直接用三角函数赋值,否则很容易挂精度。
21.写函数类型的时候一定要记得return!!!!
22.写函数类型的时候一定要记得return!!!!
23.写函数类型的时候一定要记得return!!!!
24.写递推组合数时第二维一定要记得到i
25.没有换行最好不要优输
计划写的题目
无
计划做的事情
无
高三狗已经没什么好害怕的了