小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)
歡迎關注本站公眾號,獲取更多信息