原创 【UOJ #424】【集訓隊作業2018】count(矩陣快速冪 / 生成函數 / NTT)

傳送門 考慮實際上就是深度不超過mmm的nnn個點的笛卡爾樹計數 設fi(x)f_i(x)fi​(x)爲深度不超過iii的生成函數 那麼有fi(x)=fi−1(x)xfi(x)+1f_i(x)=f_{i-1}(x)xf_i(x)+

原创 【LOJ #6268】分拆數(DP / 生成函數)

可以參見EIEIEI的博客 傳送門 首先有一個exp⁡\expexp的O(nlogn)O(nlogn)O(nlogn)做法 這裏 考慮Ferrers圖Ferrers圖Ferrers圖 從左上角向右下截一個最大的正方形 設正方形邊

原创 【Codeforces #1322 C】Instant Noodles

傳送門 考慮到有gcd(a,b+a)=gcd(a,b)gcd(a,b+a)=gcd(a,b)gcd(a,b+a)=gcd(a,b) 所以實際上對於所有可能的N(S)N(S)N(S) 只需要統計所有SSS滿足不存在子集S′S'S′使

原创 【Codeforces 961 G】Partitions(組合數學)

傳送門 每個集合權值有一個∣S∣|S|∣S∣ 考慮一個集合權值的組合意義 可以看做對於每個數,集合裏每個數都對他計算一次 於是對於每個數考慮他被計算多少次 如果自己對自己,顯然就是S(n,k)S(n,k)S(n,k)次,SSS爲第

原创 【洛谷 P5824】 十二重計數法(組合數學 / 多項式Exp)

傳送門 1:mn1:m^n1:mn 2:mn‾2:m^{\underline n}2:mn​ 3:S(n,m)m!,S3:S(n,m)m!,S3:S(n,m)m!,S爲第二類斯特林數 4:∑i=0mSn,i4:\sum_{i=0

原创 【Atcoder agc034 F】RNG and XOR(FWT)

傳送門 設m=2n−1m=2^n-1m=2n−1 顯然可以得到 ∀i>0\forall i>0∀i>0 f[i]=1+∑jf[i⊕j]p[j]f[i]=1+\sum_{j}f[i\oplus j]p[j]f[i]=1+j∑​f[i

原创 【HDU 6715】算術(莫比烏斯反演)

傳送門 把lcmlcmlcm化掉之後枚舉gcdgcdgcd可以得到 ans=∑d=1∑i=1nd∑j=1mdμ(ijd)[gcd(i,j)=1]ans=\sum_{d=1}\sum_{i=1}^{\frac n d}\sum_{j

原创 【模板】類歐幾里得

模板 傳送門 由於太懶以下直接用a/b表示⌊ab⌋a/b表示\lfloor \frac a b\rfloora/b表示⌊ba​⌋ 如果有乘除疊一起會單獨打括號區分乘除的地方 1、f:1、f:1、f: 求f(a,b,c,n)=∑i

原创 【Codeforces 547 E】Mike and Friends(Ac自動機 / 樹狀數組)

傳送門 不知道爲什麼會是div1Ediv1Ediv1E 顯然建出acacac自動機 顯然一個操作對應的就是l,rl,rl,r對應的所有串在trietrietrie上所有點加111 然後詢問failfailfail樹上xxx對應位置

原创 【Comet OJ - Contest #16 G】小 C 的奇妙序列(組合數學 / DP)

傳送門 首先記一下k=2k=2k=2的一個做法 就是求平方的期望 一個想法是直接期望DPDPDP 考慮E(an2)E(a_n^2)E(an2​) 考慮求E((∑i=1nai)2)E((\sum_{i=1}^na_i)^2)E((

原创 【2020省選模擬】時間複雜度(啓發式分裂)

3.143.143.14 由於bbb不單增 考慮一個做法 每次把區間所有出現次數小於br−l+1b_{r-l+1}br−l+1​的刪去 然後遞歸子區間 發現沒必要刪所有 每次找一個刪去遞歸就可以 可以維護着每個出現次數 左右一起

原创 【51nod 1538】一道難題(常係數齊次線性遞推)

傳送門 觀察式子的組合意義 就是隨便填出一個序列 每次隨便在aaa裏選一個填 要求和爲mmm的方案數 那麼顯然有轉移 fi=∑jfi−ajf_i=\sum_jf_{i-a_j}fi​=∑j​fi−aj​​ 然後做常係數齊次線性遞推

原创 【洛谷 P4156】 [WC2016]論戰捆竹竿(border相關 / 同餘最短路)

傳送門 顯然是把所有borderborderborder拿出來做揹包 但顯然跑不過去 於是考慮做同餘最短路 顯然是在%n\%n%n下做 但還是過不了 考慮borderborderborder的性質 形成logloglog個等差數列

原创 【LOJ #6363】「地底薔薇」(多項式快速冪 / 拓展拉格朗日反演)

傳送門 拉格朗日反演: 若f(g(x))=xf(g(x))=xf(g(x))=x 則g(f(x))=x,且[xn]f(x)=1n[xn−1](xg(x))ng(f(x))=x,且[x^n]f(x)=\frac 1 n[x^{n-1

原创 【洛谷 P6142】 【USACO20FEB】 Delegation P(二分答案 / 貪心)

傳送門 和noip2018noip2018noip2018的那道有點像 先二分答案 反正是要最大化向上傳的鏈 從最小的開始枚舉找第一個加起來≥k\geq k≥k的匹配 還要考慮把不合法的往上傳 用setsetset做 複雜度O(n