【省選模擬】20/06/08

AA

  • 考慮容斥,1表示欽定選,0 的位置表示 0/1 均合法,這樣的好處是可以只考慮 1 的限制
    並且最後我們只需對超集容斥就可以得到答案
    發現欽定一些 1 選的意義就是在原圖上選若干條不相交的鏈,複雜度和拆分數有關
    預處理一個集合有多少條鏈,那麼就是一個子集卷積
    並且發現只用求出最後一項,所以可以 O(2n)O(2^n) 暴力容斥回去
    複雜度 O(n22n+p(n)2n)O(n^22^n+p(n)2^n)p(n)p(n) 爲拆分數,CodeCode

BB

  • 考慮在 Sl,rS_{l,r} 的前後加字符,求的就是本質不同的方案數
    在前面的方案數對應的就是子樹中後綴結點的 lenulenlinkulen_u-len_{link_u}
    下面要求出在後面加字符的方案數,用後綴數組求出本質不同的個數,啓發式合併
    CodeCode

CC

  • 顯然轉移可以寫成如下形式
    fii=j=1ifj1fijxmin(j,ij+1)\frac{f_i}{i}=\sum_{j=1}^if_{j-1}f_{i-j}x^{\min(j,i-j+1)}
    發現項數是 750 左右,可以將其視爲 O(n)O(n),複雜度 O(n3)O(n^3)
    CodeCode
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章