原创 牛客寒假算法集訓營1 小a的集合(set+線段樹)

此題巧妙的地方有兩點,一點是利用線段樹維護區間異或和的時候,直接判斷區間長度的奇偶性,爲奇數就異或給定值。另一點就是在刪除的時候,巧妙的利用插入函數先插入再刪除,這樣一來刪除就變得簡單得多。 這道題對代碼能力要求較高,筆者來來回回折騰

原创 重新啓程

在2018年青島站只拿到了銅牌以後,把所有的希望都放在了焦作站,可惜焦作也並不順利,迫不得以在最後一個小時選擇了一個很賭博的解題策略,同時開兩道題,結果最後兩道題都沒A出來。一道題是因爲建新圖但只清空了原圖沒清空新圖而瘋狂wa,另一道題是

原创 牛客寒假算法訓練營2處女座與寶藏(2-sat)

爲了補這道題專門花了一下午學了2-sat 理論倒是好懂,就是建模方法想了很久,發現一篇很好的博文,直接貼過來好了。 -----------------------------------------------------------

原创 2018acm-icpc青島 E題 思維+二分

文字及總結等焦作打完回來再寫 代碼如下 #include<bits/stdc++.h> using namespace std; const int maxn=1e5+5; long long a[maxn]; int n; long

原创 BZOJ1500 無旋treap終極模板題

找了很多treap的模板 大多都是指針版本 然而指針版本用的很不習慣啊 好不容易找到了數組版本 結果發現是個帶旋的treap 帶旋的treap分分鐘被splay吊打啊 無奈之下只能結合網上一些模板通過自己的總結弄出來了這個無旋treap終

原创 LOJ 持久化序列 可持久化treap

一道模板題 在寫完這道題以後就去找其他帶翻轉的可持久化treap題去寫了 發現自己根本不會可持久化treap 什麼標記翻轉可持久化 自閉了一整天 網上也沒有找到很好的模板 於是選擇擱置一段時間 等以後時間充裕了再來磕 #include<

原创 BZOJ3224無旋treap

先diss一波洛谷P3835 這道題數據巨弱 寫了一個假的可持久化treap 居然過了 導致之後真正的可持久化treap瘋狂wa 最後選擇放棄這道題 換了LOJ的一道模板題 普通的無旋treap還是比較簡單的 BZOJ3224 #inc

原创 BZOJ3238 後綴自動機+推公式

拿到題目第一步就把前面的len(Ti)+len(Tj)手算出來了 可以知道這個答案只和n有關係 爲n*(n+1)*(n-1)/2 (如果不會手算On跑出來也行 問題不大) 後面求LCP就是重點了 通常來講 一看到LCP我就準備放棄了 只因

原创 BZOJ2565 迴文自動機

這題用馬拉車也可做 只是很久沒用馬拉車 已經不會用了QAQ 還是直接上回文自動機吧 只需要正反各建一次自動機 記錄以某個點爲斷點的最長迴文串 拼起來就是一個雙迴文串了 最後掃一遍更新最大值就行 #include<bits/stdc++.

原创 迴文自動機模板

標準版 #include<bits/stdc++.h> using namespace std; const int maxn=1e5+5; const int N=26; struct Palindromic_Tree { i

原创 BZOJ4129 樹上莫隊+權值分塊

這道題來來回回搞了近十個小時 完全暴露出了自己樹上操作的薄弱 放在區間上面秒殺的題目 放到樹上不知所措 先是離散化寫了三個多小時 一直wa 後來發現離散化的話就不能用分塊做 要用其他數據結構 然後又研究其他數據結構 比如樹狀數組 還寫炸了

原创 SPOJ8222 後綴自動機

給出一個字符串,求這個字符串長度爲1-n的子串的最大出現次數 對於長度爲x的子串的答案就是所有長度>=x的結點的right值的最大值 於是就從反向後綴樹的葉子開始,定義每個關鍵節點的right初始都爲1,然後順着求出所有節點的子樹和就可以

原创 後綴自動機經典模板題集合

花了很久總結出來的基本操作 一次性全丟這裏了 1:存在性查詢 查詢一個字符串是否是另一個字符串的子串 #include<bits/stdc++.h> using namespace std; const int maxn=5e4+5;

原创 BZOJ3998 後綴自動機

後綴自動機這個神仙算法已經搞了好久了 一次又一次的從入門到放棄 直到這段時間發現躲不過去了 只好強行學習 發現這道題很不錯 既詢問了本質不同的第k大子串 也詢問了位置不同的第k大子串 值得記錄 代碼都是自動機的常規操作 可以作爲知識點記下

原创 HDU4436 後綴自動機+dp

拿到題的第一眼 咦 好熟悉 行雲流水建個後綴自動機 在自動機上dfs一發 秒過樣例 直接交題 然後T到心態爆炸 後來瞭解到這道題現場賽只有13個隊出 金牌題??? 不過畢竟是12年的區域賽 那個時候後綴自動機可能還沒有現在這樣普及 於是被