原创 【模板】Pollard Rho

就是個板子··· 然而luoguluoguluogu上最後一個點太毒了949494分棄療 複雜度是p\sqrt pp​的,ppp是nnn的某個最小因子,滿足ppp與n/pn/pn/p互質 對於複雜度的優化可以用真正地快速乘,以及c

原创 【隨筆】退役後的瑣碎雜事

2019.2.3 因爲種種原因,我退役了,很多話在qq上已經說過了,在這我就不說了,還是很感謝那些給過我歡笑和幫助的小夥伴們,包括sdfzoi組合sjzezoi組,感謝oi讓我有這段難忘的經歷。 我從沒想過我是這樣退役的 雖然高考成績

原创 Prufer序列+高精度--bzoj1005: [HNOI2008]明明的煩惱

傳送門 話說這還是我第一道關於pruferpruferprufer序列的題。。。 長度n−2n-2n−2的pruferpruferprufer序列可以唯一表示一棵nnn個節點的樹,而且每個節點在序列中出現次數都是d[i]−1d[i]-

原创 【模板】可持久化並查集

突然想起來大家都會的可持久化並查集我還不會,所以來學一下qwqqwqqwq 感覺可持久化並查集就是把主席樹上的點的存儲信息改了一下。。 其他也沒什麼不同的,查詢一個點的父親的時候是log2nlog^2nlog2n的,修改啥的都是log

原创 後綴自動機--bzoj4032: [HEOI2015]最短不公共子串

傳送門 一個題=四個題 T1 這就是對於兩個串上的問題通常套路就是對一個建後綴自動機另一個在上面跑,所以對BBB建出後綴自動機然後枚舉AAA的子串開頭跑就行了,複雜度O(n2)O(n^2)O(n2) T2 有一個東西叫做序列自動機,但

原创 單調隊列優化dp--bzoj5185: [Usaco2018 Jan]Lifeguards

傳送門 luoguluoguluogu上據說有一道這個題的弱化版,把刪kkk個改成了刪111個,那個大概線段樹之類的隨便做一下就好了 這道題可以先把包含的都去掉,所有線段就是相交或者不相交的了,然後考慮用dpdpdp解決,設f[i][

原创 廣義後綴自動機--bzoj3926: [Zjoi2015]諸神眷顧的幻想鄉

因爲葉子只有202020個,所以把每個葉子當作根然後把從根開始的所有子串都插入一個廣義後綴自動機,這樣就可以把所有串取到,每次插入的時候記錄一下fafafa是哪個,從那個開始插就好了 這個要求不同子串個數要用∑i=1cntlen[i]

原创 虛樹+樹形DP--luoguP4426 [HNOI/AHOI2018]毒瘤

傳送門 虛樹毒瘤題 首先注意到mmm只比nnn大101010,所以可以隨便找個生成樹,把mmm多出來的邊上的點都拎出來建一個虛樹,可以枚舉每條邊的深度較淺的那個點選不選,在虛樹上樹形dpdpdp,然後發現虛樹上父親到兒子的係數是不變的

原创 min_25篩(學習筆記)

之前考試就學了一下min_25min\_25min_25篩,現在理解得更多一些,補一波筆記 首先要知道這是一種可以篩出積性函數前綴和的東西,大概可以做洲閣篩能做的東西,複雜度是O(n34logn)O(\frac{n^{\frac{3}

原创 SAM+虛樹--CF1073G Yet Another LCP Problem

傳送門 這題調的我兩眼發黑。。。 首先想SAMSAMSAM建出來就是反串的後綴樹,那麼把原串反轉一下,求後綴的lcplcplcp就變成了求前綴的最長後綴,在SAMSAMSAM上就是兩個代表節點lcalcalca的lenlenlen,用

原创 set+LCA--luoguP3320 [SDOI2015]尋寶遊戲

傳送門 說是虛樹…其實也沒真正用到虛樹 因爲他最後要走回去,所以每條邊都會經過兩遍,選哪個點都無所謂,所以可以按照dfsdfsdfs序排序,加入一個新點的時候就把前驅後繼的距離減掉再加上它到前驅和它到後繼的距離,這個求一下lcalca

原创 【模板】替罪羊樹

本來是打開了一道點分治的題,後來發現要用高速平衡樹 據說splaysplaysplay和fhq Treapfhq\ Treapfhq Treap都非常非常的慢 據說替罪羊樹是除了紅黑樹以外最快的平衡樹? 於是就來學習了一下 核心思想就

原创 【模板】矩陣求逆

方法就是通常的那種方法,就是在原矩陣旁邊放一個單位矩陣,對兩個矩陣一起高斯消元,當原矩陣被消成單位矩陣時右邊的單位矩陣就是它的逆,在高斯消元過程中如果不能繼續下去就無解 步驟就是先找到當前要操作的行,然後給這一行進行變換,乘以1fi,

原创 二項式反演--CF GYM 101933 K. King's Colors

傳送門 二項式反演裸題 設fif_ifi​表示至多有iii種顏色的方案數,gig_igi​爲恰好有iii種顏色的方案數 這個是跟樹的形態無關的因爲一個點只有一個父親,所以fi=i×(i−1)n−1f_i=i\times(i-1)^{n

原创 二項式反演(學習筆記)

qwqqwqqwq機房最後一個學二項式反演的人 衆所周知 二項式反演可以表示成 fn=∑i=0n(−1)i×Cni×gi⟺gn=∑i=0n(−1)i×Cni×fif_n=\sum_{i=0}^n (-1)^i\times C_n^i\