原创 LOJ#6198. 謝特【後綴自動機/數組 + Trie樹查異或最大值 + Trie樹合併】

題目描述: n≤105,wi<nn\le10^5,w_i<nn≤105,wi​<n,LOJ題目鏈接 題目分析: 看到兩個後綴的LCP就想到後綴自動機或者後綴數組 先從後綴自動機的思路入手,我們知道兩個後綴的LCP就是它們在後綴自

原创 Codeforces932G Palindrome Partition【迴文樹DP(附border的若干證明)】

洛谷鏈接 PS:下面的圖截自skyh的PPT 水題再選講,先Orz爲敬。 弱週期引理 長度大於等於一半的串的匹配形成等差數列 長度大於等於|S|/2的border長度形成等差數列 迴文串的迴文後綴(border)長度可以表

原创 20200525 hz T3(#6509. 「雅禮集訓 2018 Day7」C)【期望】

題目描述: 3≤n≤1053\le n\le10^53≤n≤105 題目分析: 最後valn−1,0val_{n-1,0}valn−1,0​和valn−1,1val_{n-1,1}valn−1,1​的遞推式只和≤n−1\le

原创 20200525 hz T3(#6496. 「雅禮集訓 2018 Day1」仙人掌)【仙人掌DP + 分治NTT】

題目描述: 給出一個仙人掌,爲每條邊定向,iii號點的度數不超過aia_iai​,求方案數。 n≤105,mod  998244353n\le10^5,\mod 998244353n≤105,mod998244353 題目分析:

原创 20200525 hz T1【單點修改求歷史最小區間和】

T1 n≤100000,Ai≤109n\le100000,A_i\le10^9n≤100000,Ai​≤109 題目分析: 做過uoj#164之後我們會做區間修改單點查詢歷史最值。就是維護當前標記和歷史最值標記,下傳的時候兒子的

原创 Useful website(tools)

畫樹、圖工具:https://csacademy.com/app/graph_editor/ 幾何工具:https://www.geogebra.org/geometry Latex代碼工具:http://webdemo.mysc

原创 20200522 hz T1 求和【組合數求和→二項式等比數列 + CRT】

題目描述: 給出N,M,KN,M,KN,M,K,求∑i=0N∑j=0M(ij)[i ⁣ ⁣ ⁣ ⁣mod  2=0][j ⁣ ⁣ ⁣ ⁣mod  2=0]\sum_{i=0}^N\sum_{j=0}^M\binom ij[i\!\

原创 20200520!hz【異或和爲0的最大集合,powerful number求積性函數,相等邊集容斥+限制異或和】

T1:石子游戲 給出nnn個數aia_iai​,求刪去最少的數,使得剩下的數的異或和爲0。 記A=max(ai)A=max(a_i)A=max(ai​),n,A≤500000n,A\le500000n,A≤500000 題目分析:

原创 字符串專題選講

T1 字符集大小爲2312^{31}231 兩個字符串能夠匹配當且僅當第KKK大字符所在位置相同 給出字符串A,BA,BA,B,以及TTT次修改操作。 每次將BBB串的第xxx個字符修改爲yyy,在每次修改操作之後求出BBB串在A

原创 20200519 hz【對稱中心,前綴和優化DP,LCT最小生成樹(邊權k±x)】

T1:小B的棋盤 K個棋子可以不用完,對稱指旋轉180°後完全重合。 而前k+1k+1k+1與後k+1k+1k+1個點中一定有一對點匹配,這樣就可以確定對稱中心,枚舉後check即可,O(k2n)O(k^2n)O(k2n) C

原创 20200518 hz T1 矩陣求和【k次前綴和 → 路徑數 → 組合數】

題目描述: n,m,Q≤105,0≤k≤10n,m,Q\le10^5,0\le k\le10n,m,Q≤105,0≤k≤10 題目分析: 對於這個東西有兩種處理方式: 方法一:預處理多項式係數 可以發現這就是一個關於x2x_

原创 Codechef Union on Tree【點分樹+虛樹】

題目描述: nnn個點的樹,mmm次詢問,每次給出kkk個點(a[i],r[i])(a[i],r[i])(a[i],r[i]),表示點a[i]a[i]a[i]可以保護與它距離不超過r[i]r[i]r[i]的點,輸出kkk個點總共可

原创 51nod1819 黑白樹 V2【樹鏈剖分求與黑點LCA的和 + 子樹黑白翻轉】

題目描述: 給定一棵以1爲根的有根樹,點可能是黑色或白色,操作如下。 選定一個點x,將x的子樹中所有到x的距離爲奇數的點的顏色反轉。 選定一個點x,將點x的顏色反轉。 選定一個點x,詢問所有黑點y(包括點x)與點x的lca(最近

原创 Codeforces1172E Nauuo and ODT【LCT維護樹上連通塊】

題目描述: nnn個點的樹,每個點有顏色cic_ici​,帶單點修改,每次輸出所有鏈顏色數的和((u,v)(u,v)(u,v)和(v,u)(v,u)(v,u)當u≠vu\neq vu​=v時算作兩條鏈) n,m≤400000,c

原创 20200516 hz 幻化成風【相等集合容斥,狀態壓縮】

題目描述: n≤104,m≤30,∑ai≤30n\le10^4,m\le30,\sum{a_i}\le30n≤104,m≤30,∑ai​≤30 題目分析: 將n!n!n!拆分爲質數的冪次後可以O(nm)O(nm)O(nm)完全揹