原创 hdu5421(迴文自動機)

題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=5421 思路:同時維護收尾兩個last可以實現首尾同時插入,需要注意的是當插入過後最長迴文串是當前整個字符串,要把另一個last的值設爲當前這

原创 牛客練習賽57D(manacher||迴文自動機)

題目鏈接:https://ac.nowcoder.com/acm/contest/3781/D 思路:處理出前後綴最長迴文串,可以用manacher或者回文自動機 迴文自動機: #pragma GCC optimize(2) #incl

原创 Comet OJ - Contest #11 D(kruskal重構樹)

題目鏈接:https://www.cometoj.com/contest/67/problem/D?problem_id=3801 思路:以邊鏈接兩點的最大值爲權值,建立kruscal重構樹,然後線段樹隨便搞一搞就好 下面是kruscal

原创 luogu P4245(任意模數ntt)

題目鏈接:https://www.luogu.org/problem/P4245 思路:模板題 #include <cstdio> #include <cstdlib> #include <cstring> #include <bits

原创 poj2914(無向圖最小割)

題目鏈接:http://poj.org/problem?id=2914 思路:模板題,複雜度是n的三次方 #pragma GCC optimize(2) #include <cstdio> #include <cstdlib> #inc

原创 codeforces 1332 F. Independent Set(樹形dp)

題目鏈接:https://codeforc.es/contest/1332/problem/F 思路:這題選的是除了空集之外邊的子集,一開始做了個聯通子圖的,自閉了好久。這題可以先考慮選的邊是全集怎麼做,邊是全集很明顯可以用dp[u][1

原创 poj3613(矩陣快速冪+最短路)

題目鏈接:http://poj.org/problem?id=3613 思路:T很小,所以很容易想到Floyd,但是N很大,直接跑肯定超時,這個轉移狀態滿足結合律,所以可以跑矩陣快速冪,自乘一次代表多走一條邊(代碼poj過不了編譯的,因爲

原创 51nod 1295(可持久化字典樹)

題目鏈接:http://www.51nod.com/Challenge/Problem.html#problemId=1295 思路:板子題 #include <cstdio> #include <cstdlib> #include <

原创 bzoj3064(歷史最值)

題目鏈接:https://www.lydsy.com/JudgeOnline/problem.php?id=3064 思路:還是16年國家集訓隊jls的論文   #include <cstdio> #include <cstdlib>

原创 codeforces 337 D(樹的直徑性質)

題目鏈接:https://codeforces.com/problemset/problem/337/D 以下轉自:https://www.cnblogs.com/Khada-Jhin/p/10195287.html DP求法: DP求直

原创 hdu5306(線段樹+區間取最值)

題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=5306 思路:這是16年國家集訓隊jls的論文 #include <cstdio> #include <cstdlib> #include

原创 codeforces 191 C. Fools and Roads(樹上差分)

題目鏈接:https://codeforc.es/contest/191/problem/C 思路:樹上差分模板 對於每一次修改s,t,將s,t的權+1;將LCA(s,t)和father[LCA(s,t)]的權-1;一個點最終被覆蓋的次數

原创 牛客練習賽62 E水災(樹剖求lca,kruscal重構樹)

題目鏈接:https://ac.nowcoder.com/acm/contest/5205/E 思路:這題真的是,卡常卡的我懷疑人生,但也因此也優化了一下lca的板子,這波血賺 詢問要求的是詢問點兩兩之間不可達的最小水位,相當於選取一個數

原创 codeforces 1315 D - Recommendations(pbds)

題目鏈接:http://codeforces.com/contest/1315/problem/D 思路:對於每一個數如果重複出現肯定是選花費最大的先增加,所以這幾乎就是模擬了,只是暴力模擬的話,複雜度明顯會炸掉,需要用可並堆優化一下,然

原创 luoguP5431(離線逆元)

題目鏈接:https://www.luogu.org/problem/P5431 思路:運用前綴積離線求逆元 #include <cstdio> #include <cstdlib> #include <cstring> #includ