原创 HDU 1625 Censored! (AC自動機 + 大數 + dp)

題意: 給定你n 種字符, 和p 個禁止串, 問你長度爲m 的串有多少種 不包含 禁止串? 思路: AC自動機是顯然的。 矩陣快速冪也可以 ,dp 也可以。 但是這是個大數。  極限答案有85位左右。 我用快速冪寫了一發,不是爆內存就是因

原创 HDU 2457 || POJ 3691 DNA repair (AC自動機 + dp)

題意: 給了你n 個病毒DNA串, 和一個模板串, 要求模板串上改儘量少的字符 使得 模板串不包含 病毒串。 思路: AC自動機 + dp 多個串匹配,  很容易想到是AC自動機, 然後又是改少的字符,  也比較容易想到 dp 上。 令d

原创 ZOJ 3228 Searching the String (AC自動機)

題意: 給你一個模板串, 和n 個要匹配的串, 匹配串有兩種類型, 第一種 可以在模板串中 重疊 出現, 另一種不可以重疊, 問每個串的兩種形式 所出現的數量。 思路: 很明顯ac自動機。 我們先把所有匹配串插到自動機中, 第一種很簡單

原创 UVA - 12083 Guardian of Decency (匈牙利算法 求 最大獨立集)

題意: 給你 n 個人的 性別 身高, 喜歡的運動和音樂。 告訴你一些兩個人能在一起的條件, 問 最多多少人 在一起? 思路: 有性別之分。 可以建成一個二分圖。 然後反向建邊, 如果男i 和 女j 不能再一起 就連一條邊。 然後這樣,

原创 HDU 3065 病毒侵襲持續中 (AC自動機)

思路: 也是個ac自動機裸題 給每個節點維護編號 和數量就好。  因爲一個節點可能會重複匹配一個病毒多次,  所以不能清空維護的數量。 #include <cstdio> #include <cstring> #include <algo

原创 UVA 10075 Airlines (Floyd + 數學轉換)

題意: 告訴你n個點的經度 和 緯度, 告訴你m 個有向邊, q 個查詢 ,求兩點的最短路。 思路: 顯然裸floyd 就是這個兩點之間距離比較噁心了。 我們直接以球心爲圓點, 建立XYZ直角座標系。 球心連接 經度 0 的位置。   然

原创 HDU 6162 Ch’s gift (2017多校9 - 樹鏈剖分 + 線段樹)

題意: 給一棵樹, q 個查詢,每個查詢 輸出 一條鏈中  點權 在指定範圍內的  加和。 思路: 鏈中的操作,顯然是用樹鏈剖分。 但是有個很難處理的問題, 如和求一個鏈中的 點權 在制定範圍內的加和。 用線段樹就可以了。 維護區間內最小

原创 UVA - 1326 Jurassic Remains (折半搜索)

題意: 給你n 個串(僅包含 大寫字母), 要求選擇儘可能多的串,使得 所有的字母出現次數均爲偶數次。 思路: 真的蜜汁題意, 比賽結束都沒讀懂。。。。 18s 時間很充足, 2^24 直接爆可以過。。 記錄一下 折半搜索。 總共24

原创 HDU 6161 (2017多校9 - STL模擬 + dp)

題意: 給你一個n (n <= 1e8)個節點的完全二叉樹, 開始時,每個節點的權值 爲他本身, 兩種操作: 1. 查詢經過節點x 的最大權值鏈。 2. 改變x 的權值爲v 思路: n是1e8,沒法建樹。 但他是一個完全二叉樹,一條鏈就

原创 UVA 11354 Bond (最小生成樹 + 樹鏈剖分)

題意: 給你一個圖, q 個查詢, 每個查詢輸出兩點之間 的路徑中 最大值的最小值。 思路: 要想路徑最大值最小, 邊肯定在最小生成樹上。 先把圖建成最小生成樹。 那麼問題就是  輸出樹上兩點之間的 邊權最大值。 赤裸裸的樹剖。 可惜比

原创 HDU 6129 Just do it(多校7, 組合數 規律)

題意: 給你一個數列, m次變換, 每次變換b[i] = a[1]~a[i]的異或值。 求最後的序列。 思路: 一個找規律的題目。 考慮 每一個數對後面的數的貢獻。 先考慮a1: 第一次變換: 1 1 1 1 1 第二次變換: 1 2 3

原创 HDU 4417 Super Mario (樹狀數組 + 離線)

題意: 給你一堆數, m 次詢問, 每次詢問問你區間裏  小於等於x 的數有多少個? 思路: 很容易往 數據結構 + 離線 上想。 一開始寫了一發發現想偏了。然後就沒然後了。。 ========================== 先把詢

原创 HDU 3341 Lost's revenge (AC自動機 + dp[優化好多= =])

題意: 給你n 個DNA 串,  最後給你一個匹配串, 問你匹配串隨便排列後 最多能匹配多少DNA串? 思路: 一個串匹配多個串, 是AC自動機。 考慮dp 因爲是隨便排列, 因此就得考慮 用x1 個A, x2 個C, x3 個G, x4

原创 HDU 2896 病毒侵襲 (AC自動機)

思路: ac自動機裸題。 雖然輸出是亂搞, 但也得注意一下時間。 輸出一開始建立了1000 個set 來保存答案。 但是T了。 所以必須只用一個數組 來簡單優化一下。 但是數組還有重複的問題,  在自動機中加個標記 ,標記了之後就不存了

原创 HDU 4511 小明系列故事——女友的考驗 (AC自動機 + dp)

題意: 給你n個點, 你在1號點, 要到n 號點, 有m 種路徑不能走, 求1到n 的最短路長度。 思路: m 種路徑不能走, 很容易想到AC自動機。 求距離最短。 還是將m 種路徑建立成自動機,  一個結點非法, 不僅他是m 種路徑的末