小trick总结

  • 一个圆上的整点数量不会不少。(Cf AIM TR 5 F
  • 二分图完美匹配求字典序最小的方案:先一遍匈牙利求出任意一组完美匹配。再跑一遍逐位肯定,要求不能修改编号比它小的匹配。(LG 4100
  • 若是要把多项式的指数模$k$相同的项系数加起来放在一块儿,能够把该多项式模$x^k - 1$。(LG 5224)
  • 把$n$进行正整数拆分(不一样的正整数序列知足和为$n$的个数),直接用闸板法。
  • 一棵树某一个点的度数$-1$就是其$prufer$序列中该点出现的次数。$n$个带标号的点组成$k$个有根树的方案数就是$\binom{n - 1}{k - 1} n^{n - k}$,能够用新建虚点再限制其度数算得;若是要求$1\text{~}k$这$k$个点分别为$k$个树的根,再除以$\binom{n}{k}$就好了。(Cf #539 D
  • 一个序列的全部区间$gcd$,不一样的最多只有$O(nlogn)$个。(能够用固定左端点移动右端点考虑)
  • 链相交的问题能够考虑到总会有一条链的$lca$的会在另外一条链上。若是是边相交则能够考虑离$lca$最近的两条边的位置。
  • 求字典序最小的欧拉回路,能够先把全部出边$sort$后直接跑,这是对的。
  • 在$[0,1]$的线段上插入$n-1$个点使其分红$n$条线段,其中最短的线段的长度的指望是$\frac{1}{n^2}$。
  • $dag$上有$Dilworth$定理与其对偶:最长反链=最小链覆盖(注意此处最小链覆盖中链是能够在点或边上相交的);最长链=最小反链覆盖数。
  • 在$dag$的最小链覆盖问题上,若是不容许链点相交,则能够直接建出二分图跑;若是点能够相交,则须要对每个$i \in [1,n]$连边$(i + n$ -> $i)$,流量为 $inf$。(LOJ 6197)
相关文章
相关标签/搜索