原创 FWT 模板

傳送門 傳送門:FWT知識點詳解 傳送門:Pick’s Blog (我用的板子都是非遞歸的QAQ,可能是非遞歸的FFT寫的比較順手吧) &運算 void Fast_Walsh_Hadamard_Transform(LL x[],

原创 bzoj 1150 [CTSC2007]數據備份Backup 貪心+優先隊列

題目大意: 直線上有n個點,選擇2k個互不相同的點,使他們兩兩配對,求所有點對的最小距離和。 題目分析: (先扯一波淡) 一開始覺得n*n *k的dp可做,恩(點頭) 然後看了一眼數據範圍…… 這個dp可優化到n*k,恩

原创 HDU2433 Travel 最短路徑樹

題目大意: 有一個n(n<=100 )個點m(m<=3000 )條邊的無向圖,邊權爲1,求刪掉每一條邊之後,每個點到所有點的最短距離和。 多組數據 題目分析: 最暴力的方法就是刪掉每一條邊,然後枚舉每一個點,跑一邊bfs,時

原创 杜教篩 51Nod_P1244 莫比烏斯函數求和

題目大意: 求: 2<=a<=b<=10^10 題目分析: 首先這道題很顯然可以拆成兩個前綴和相減的形式,即如何求:∑(1<=i<=n)μ(i) 當n很小的時候,我們只要線性篩一下莫比烏斯函數就可以了。 但是這道題數

原创 bzoj2725 [Violet 6] 故鄉的夢 && 4400 tjoi2012 橋 Dijkstra+線段樹

題目大意: 2725: 有n個點,m條邊的圖,有邊權,給定S(起始點)和T(終點),然後有q個詢問,問原刪除某一條邊後的S到T的最短路。 4400:有n個點,m條邊的圖,有邊權,問刪除哪些邊能使從1號節點到n的最短路徑最長。

原创 【bzoj3589】動態樹 樹鏈剖分+線段樹

題目大意: 給定一棵樹,支持以下兩個操作: 0、子樹修改 1、查詢幾條的鏈並的權值和,答案模2^31。 (這些鏈爲某個節點到根的路徑的一部分) 題目分析:(樹鏈剖分+線段樹) 首先,這道題跟動態樹沒什麼關係。

原创 bzoj4900【CTSC2017】Day1T1 密鑰 cipher 亂搞

題目大意: 有一個包含n個點(n=2*k+1)的環(密鑰),環上有k個點爲A,有k個點爲B,剩下一個點爲X。 對於每一個A,從X順時針走到這個A,如果途中A的數目嚴格多於B的數目,那麼這個A爲強的。一個密鑰的特徵值爲強的A的個

原创 半平面交 模板 bzoj2618 【Cqoi2006】凸多邊形

題目大意: 給兩個凸多邊形,求面積交。 題目分析: 求半平面交。 代碼如下: #include <cstdio> #include <algorithm> #include <cmath> using namespace st

原创 迴文自動機 模板 bzoj3676【Apio2014】迴文串

題目描述: 考慮一個只包含小寫拉丁字母的字符串s。 我們定義s的一個子串t的“出現值”爲t在s中的出現次數乘以t的長度。請你求出s的所有迴文子串中的最大出現值。 題目分析:(迴文自動機) 某隻問:迴文自動機有什麼用?

原创 最小表示法 模板【poj1509】Glass Bead

題目大意: 給定一個循環字符串,求這個字符串字典序最小的開始位置。 題目分析:(最小表示法) 詳解傳送門 這個做法簡單的來說用兩個指針就是從頭開始暴力比較,答案劣的就往後跳,跳到失配位的下一個,直到其中一個跳出這個串結束。 注

原创 bzoj3159 決戰 LCT

題目大意: 維護一個樹,支持以下操作: 1、鏈+ 2、鏈求和 3、鏈求最大 4、鏈求最小 5、鏈翻轉(此處的翻轉是指把鏈上的值翻轉,而樹的形態不變) 題目分析:(LCT) 如果只有前四個操作就可以用LCT或者樹鏈剖分

原创 bzoj1177 [Apio2009] Oil 分類討論

題目大意: 給定n*m的矩陣,求三個互不相交的邊長爲k的子正方形的最大權值和。 題目分析: 因爲這寫矩形互不相交,所以我們可以把他們所在的區域劃分成塊。 YY一下,情況也就6種:(出題人真是良(sang)心(bing)啊)

原创 BZOJ 3677【Apio2014】連珠線 樹形dp

題目描述: 在列奧納多·達·芬奇時期,有一個流行的童年遊戲,叫做“連珠線”。不出所料,玩這個遊戲只需要珠子和線,珠子從1到禮編號,線分爲紅色和藍色。遊戲 開始時,只有1個珠子,而接下來新的珠子只能通過線由以下兩種方式被加入:

原创 bzoj3648 寢室管理 樹分治

題目大意: 給一顆基環樹,求所有長度大於等於K的路徑。 題目分析: 如果沒有環,只有樹的話,只要裸上樹分治就可以了。 有環的話我們就先把環上的一條邊去掉,然後做樹分治。 這樣我們就統計出了所有不經過這條邊的路徑樹,還剩下所

原创 後綴自動機 + LCT 【bzoj2555】SubString

題目大意: 支持兩個操作: 1、插入一串字符 2、查詢一串字符在串中出現多少次。 強制在線 題目分析: 維護一個動態的字符串,後綴自動機可以做。 要查詢一串字符在串中出現的次數,就相當於查詢這個串末尾字符代表的狀態的r