(a)、(b)两个回文串的最小循环节一样时,(a+b)是回文串。
P3449
组合计数dp,我们应该考虑的是能用的大致特征,比如有多少行多少列,而不应该过多的考虑特别具体的状态
P3158
树的所有直径具有相同的中点
P3304
如何查看一个点是否在一条路径上呢?满足该点到路径两端点的距离和等于两端点的距离,距离用(lca)和深度就可以了
P3398
期望一定要小心谨慎分析,不要直觉瞎搞,设计好状态,转移。
分清楚 : 事件,概率,结果,期望。
抓住(E(x+y)=E(x)+E(y)) 还有: (E(x)=sum {p_i imes x_i}) by Miracle
P4550
一个小套路:有位运算的线段树,按位开线段树
P5312
向量->几维坐标的前缀和
题目咕了
dfs序在子树上的性质:连续区间
CF1110F
因此,对于一个已知的(n),有(n ^{n-1})种不同的有根树。
P4981
注意数据范围对于空间(开数组)的提示
P3147
(d(ij)=sum x∣iy∣j[gcd(x,y)=1])
1.同余的一个性质
(a equiv b space (mod space c))
此时(b),(c)不互质,因数为(x)
则可以推出
(frac{a}{x} equiv frac{b}{x} space (mod space frac{c}{x}))
2.欧拉函数的一个性质
若(n)是质数(p)的(k)次幂,(phi(n)=) $p{k}-p{k-1}=(p-1)* p^{k-1} $
因为除了(p)的倍数外,其他数都跟(n)互质
(varphi = mu space * space id)
如果写成能懂的话就是:
任意 (m) 个连续正整数中与 (m) 互质的数的个数恰为 (varphi(m))
从区间([0,L])中取(n)个数,要求所有非零数严格递增,则方案数为(inom{L+n}{n})
在 (n imes m) 矩形中选个 (k) 点,方案数为(C^{k}_{m} imes C^{k}_{n} imes k space !)
(a+b) (=a space xor space b+2 imes(a space and space b))
当我们发现区间或者连通块乘积的时候,我们可以考虑把它们取 (log) 之后再求和,记得 (double)
笔者觉得很猥琐,不得感叹这个真的是有魔法的少女
求多个数的 (lcm):直接循环,用当前的最小公倍数和当前数求 (lcm)
模拟退火的求最大值的时候要写成:
exp(-k/T)/RAND_MAX<rand()
反之则要写成:
exp(-k/T)/RAND_MAX>rand()