原创 Hihocoder的一些dp

Hihocoder P1110 正則表達式 一道區間dp。。。 總之比較基礎吧,不要想太多,直接按照題目說的做就好了。  1:0是正則表達式,1也是正則表達式。  2:P和Q都是正則表達式,則PQ是正則表達式。  3:P是正則表達式,則(

原创 網絡最大流

網絡流模板 https://www.luogu.org/problemnew/show/P3376 大概思路就是每次都bfs搞一條路徑,然後記錄這條路徑,對他進行增廣,反邊+minv(方便於下次走回來),正邊-minv (minv就是一條

原创 免費道路

原題鏈接:https://www.luogu.org/problemnew/show/P3623 其實這題賊jb簡單,也不知道爲啥是省選的。。。 就是看盡量用鵝卵石能不能用完。。。 再看盡量用水泥能不能用完。。。 就沒了。。。 最小生成樹

原创 有向帶環圖的各種遍歷處理

防坑大招:先上一張母上大人設計的有向有環圖,作爲測試數據,(見附圖) 要求:找到所有能到達4的節點x,can[x]數組中置對應值爲1 自環 建邊時,通過x!=y, 將自環邊直接濾掉 for(int i=1;i<=m;i++)

原创 TARJAN算法與其運用

一.割點與割邊 題目鏈接 http://hihocoder.com/problemset/problem/1183 割點: x不是根:只要有low[v[x]]>=low[x] 說明v[x]不通過x沒法回到x來時的地方,所以x爲割點 x是根

原创 How far away: RMQ 與 LCA

題目鏈接:How far away http://acm.hdu.edu.cn/showproblem.php?pid=2586 RMQ做法 這裏滿足一個性質:對於任意的x,y,他們的lca必定是x,y的路徑上的最淺的點(dep最小) 所

原创 負環

題目鏈接:https://www.luogu.org/problemnew/show/P3385 兩種方法:Bellman-ford 和 SPFA 1.Bellman-ford 核心:枚舉每條邊,用每條邊來更新每個點的最短距離(dis數組

原创 Noip2012-國王遊戲

“使賞賜最多的大臣獲得的賞賜儘可能少” 這類題目要麼是二分,要麼是貪心。emmmmm這題看上去比較像貪心(不要問我爲啥就是玄學orz) 考慮兩個大臣x,y,(對於i來說,左手的數字是a[i].l,右手的數字是a[i].r) 如果x排在y前

原创 noip2012-疫情控制(倍增)

啊我又來寫這題惹。 還是一樣的二分limit emmmm 然後知道了limit判斷行不行(ok函數) 先把點都往上提。分成兩類點:1.在limit範圍內提得到根節點的。2.在limit範圍內提不到根節點的。 (這裏用倍增上提以優化複雜度,

原创 Noip2012-借教室

這個題首先很容易想到枚舉1-m,再一個一個加起來,判斷一下(最直白的暴力) 於是又很容易想到用差分數組可以優化一下。 就像這樣 #include <iostream> #include <cstdio> using namespace

原创 noip2014-尋找道路

題目很清楚,要滿足2個要求: 1.路徑上的所有點的出邊所指向的點都直接或間接與終點連通。 2.最短 條件2很好做,spfa或者bfs反正怎麼搞都行。 於是考慮條件1 我們當然想知道每個點能否經過。對於不能經過的點,無非是2種: 1.自身到

原创 KMP算法與其應用

KMP字符串匹配 題目鏈接:https://www.luogu.org/problemnew/show/P3375 1.nxt數組: nxt[x]:以x位結尾的字符串爲後綴能匹配到的最長前綴。 求法見代碼: nxt[1]=0;int

原创 我所掉入的坑(持續更新中)

1.所有數據都要初始化!!!    PS:struct 默認的初始值不一定是0! 2.鏈式前向星數組範圍:無向圖*2 3.lowbit(x): 取x最後一個是1的一位和它後面所有的0 4.所有的初始化數據都要留有餘量(+5)   e.g.

原创 貨車運輸:LCA的應用

洛谷P1967 題目鏈接:https://www.luogu.org/problemnew/show/P1967 審題: 1.求的是瓶頸路最大,我們很容易就想到一個圖裏最大瓶頸路的求法,求出最大生成樹,而瓶頸路一定在這棵生成樹上,所以我們

原创 noip2012-開車旅行(倍增)

60分: 裸的暴力,直接搞dfs。注意double。 直接上代碼: #include <iostream> #include <cstdio> #include <cstring> #include <cmath> using nam