输入是%\(lf\),输出是%\(f\)
博弈论
坑
莫队复杂度
两个不同数的gcd不会超过两个数的差,这启示我们把数字相同分开考虑剩下的比较方便
\(\mu^2(i)=\sum_{d^2|i}\mu(d)\)
牛顿级数
P3241
树上GCD
BZOJ3648
BZOJ3784
P3345
P3464 【POI2007】WAG-Quaternary Balance
鸽巢原理
最小割树CF843E
\(1^2+2^2+3^2+…+n^2=\frac {n(n+1)(2n+1)}{6}\)
在使XOR最大的意义下,任意一条链+所有环的组合可以构成所有路径。所有环可以被简单环组成,简单环可以由任意搜索树枚举非树边或者直接dfs得到(不走重复点)
树的重心
性质 1 :树中所有点到某个点的距离和中,到重心的距离和是最小的,如果有两个距离和,他们的距离和一样。
性质 2 :把两棵树通过某一点相连得到一颗新的树,新的树的重心必然在连接原来两棵树重心的路径上。
性质 3 :一棵树添加或者删除一个节点,树的重心最多只移动一条边的位置。
\(\gcd(i,j)=\sum_{d|i,d|j}\varphi(d)\)
****
\(f_{i,j}=\sum_{p=0}^Kf_{i-1,j-p}\)
\(n=10^{18},m=10^5,k=10^5\)
可持久化数据结构注意被继承的节点,不要被修改。
对询问和修改分块,平均复杂度。
树上对dfs序建主席树,解决子树(链)问题。
归并树。
\(gcd(a,b)=1 <=> gcd(a+k\times b,b)=1;\)与k互质的数每k个一循环,第一个循环是\(1-k\)
类矩阵优化dp,设初始阶段的dp数组为\(f(x)\),如果更新一个阶段的dp数组是\(f^2(x)\),那么可以类似用快速幂的方法log得出。P3702 【SDOI2017】序列计数
\(beatty\)数列:数列\((a_i,b_i)\)递增,每个数只出现一次,递推公式是\(a_i=\alpha\times i,b_i=\beta\times i,\frac 1 \alpha+\frac 1 \beta=1\)
已知(a,b),(c,b)/(b,c)可得(a,c)(有传递性)考虑最小生成树
P3233
若\(x\times y\)是完全平方数,\(y\times k\)是完全平方数,那么\(x\times k\)也是完全平方数
最短路径树!=最小生成树
图最短路图一定是DAG,DAG求割边可以直接当无向图做。
\(C(-r,y)=(-1)^y\times C(r+y-1,y)\)
p是质数是\(x^p\equiv x(mod~p)\)的充分条件但不是必要条件
插入一些路径,求一个点是否经过所有路径。\(pos[x]++,pos[y]++,pos[lca]--,pos[fa[lca]]--\)
树上一棵子树对应dfs时出入栈的一个括号序列的一段区间
BZOJ2683
陌上花开
巨鲸哥哥太棒了qwq
坑:P3634
一个序列,m个限制(l~r至少选一个数),求哪些数必须选。
拓扑图好性质:把图按照断开分成两部分,只有左部分向右部分的连边。(方便枚举路径:左部分自己的,右部分自己的,经过断层的,P3573)
不能穿过+i=不能碰到
CF1091G
用当前作为单位拼基础图案(分形)==用基础图案代替每个单位
FFT FWT FMT NTT
一套比赛
W\(\times\)H的平面上有一些点。
每个点在x,y位置,初始能量为p。
能力为x的话就能覆盖以该点为中心,大小为p$\times $p的一个圆。
我们要从顶端到底端找一条没有被覆盖的路线,求最少需要把这些点的能量减少多少。最小话减小的能量总和。
对于一个排列可以看成一个置换,(\(i->p_i\)连边),那么\(p_{p_i}\)就是跳两步,结果是奇环顺序改变,偶环拆成两个。
有N\(\times\)M的矩阵,每个点都有一个高度。
我们用x的代价可以将某点的高度提高x。
从每个点可以到相邻的不比他高的点。
最小代价使得A不能到B。
在%2意义下,\(+-\)都变为\(XOR\)
x个点的虚树,按照dfs序排序,边数\[=\frac{\sum_i dis(p[i],p[i\%n+1])}{2}\]
珍爱生命,远离炸精度的int();
“全局平衡二叉树"
P4496 [CTSC2009]移民站选址