原创 HDOJ 1698 Just a Hook [區間替換+區間查詢]

這題我知道我做過. 但是現在做還是搞了半天. 因爲還是對 pushdown 這個沒搞清楚. 這個函數不是維護e的 , 而是維護e的 子節點的. 由於這題只要查詢一次整段的值, 返回a[1]即可. 代碼1 (標準寫法, pushdown維

原创 POJ-3667 Hotel[線段樹]

題意: 有連續的N間房間, 兩種操作, 一是Check in, 要找D間連續的空房間出來(房號儘可能小), 輸出第一個的位置, 如果沒有就輸出0;  二是Check out, 從x號房開始連續的D個房間, 重新變成空房間. 思路: 1/

原创 HDU 1003 Max Sum + 單調隊列優化dp解法

首先貼上經典dp解法,  以i結尾的最大子段和 d[i] = max(d[i-1]+a[i], a[i]). 但這不是本文的主要目的. 代碼 O(n) : #include<cstdio> #include<cstring> #inclu

原创 POJ 2516 Minimum Cost

最小費. 主要是這題有K種貨物搞得關係很複雜, 開始建圖卡住, 其實把k種貨物分開來建k次圖跑k次就好了. 然後判斷最大流和是否滿足需求, 若滿足則輸出最小費和, 若不滿足, 則輸出-1. 貌似還可以用KM 代碼: //最小費用流 //

原创 5798 - Jupiter Atacks!

http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3809 單點更新+區間查詢+維

原创 HDU 4302 Holedox Eating

多校的時候這題寫了一個多小時....調了半個多小時過完樣例, 然後一直wa..... 當時何其悲慘....其實也是很傻逼的一道, 就是模擬動物走的部分要寫得仔細一點....儘量分模塊寫... 線段樹: 單點更新, 區間查詢, 維護區間離

原创 FZU 1894 志願者選拔[雙端隊列/單調隊列]

寫這篇題解前重複一句被很多人說過的話...."一直以爲單調隊列就是優先隊列, 2了....." 然後這題開始用priority_queue, 悲催地TLE了... 科普: 1/ 優先隊列, 一般用堆實現, 就是STL裏priority_q

原创 HDOJ-2795 Billboard [線段樹][單點更新+單點查詢+維護區間最值]

8s時限 單點更新+單點查詢(要用區間信息來找到那個點)注意:對於維護區間最值的, 附加域直接當主域用, 因爲葉節點的最值就是那個點的值 思路: 1/ 維護區間最左的還未滿w的點, 若整個區間滿了, 用-1表示這樣不行的, 試想若最左未滿

原创 HDU 4371 Alice and Bob

隊友出的 #include <iostream> #include <string> using namespace std; int main() { int T; cin>>T; for(int t=1;t<

原创 Vijos 1243 生產產品[單調隊列優化dp]

好吧...作爲我A掉的第一道單調隊列優化dp....在高中生的OJ上....而且我調了一個半小時樣例....然後很神奇的1A = =... 誒 這題果斷比多校8的1005難啊...min裏面的東西這麼奇葩的...又 k 又 p 又 j 地

原创 HDU 3415 Max Sum of Max-K-sub-sequence[單調隊列優化dp]

這題是有下界的最大子段和, 無上下界的最大子段和請看 hh大牛把這個歸爲單純的單調隊列題, 因爲這個狀態間不用轉移, 其實無所謂啦, 思路都是一樣的 思路: 單調隊列優化dp 以i結尾的最大子段和 d[i] = max{ sum[i]-s

原创 POJ 2289 Jamie's Contact Groups 多重匹配+二分

題目大意是給你一堆聯繫人, 每個人有幾個標籤, 然後讓你將他們分組(每組裏的人要標籤相同), 問其中人最多的組的人數最少是多少. 有點像鴿巢的感覺...開始我想了一個, 以爲是每次求最大匹配, 然後把已蓋點的鄰邊全刪掉, 然後看能求幾次最

原创 HDU 4389 X mod f(x)[數位統計dp]

我以前習慣叫"按位dp",貌似一樣的.以前都是用記憶化搜索做,轉移起來不用多想. 現在學了這個大牛 的寫法, 感覺用迭代寫也不錯. 總結一下: 就是拿到一個上界bound.然後邏輯上將bound按位劃分爲三份,一份是統計過的,一份是當前統

原创 HDU 4370 0 or 1

這題答案就是 min(1~n最短路, 包含1的最小環+包含n的最小環).  (最小環不包括自環). 這題沒什麼, 就是求最小環的時候要注意下. 1/ 如果用鄰接表, 那dist數組初始化肯定是INF, 但注意dist[st] 還是初始化爲

原创 HDU 4379 The More The Better [坑爹想法題]

這題各種卡. 先是卡空間, n太大了, 想要都存下來再sort只能是MLE. 因爲開不下, 所以逼你寫空間複雜度O(1)的算法, Online掃一遍. O(n)的時間複雜度. 算法是, 小於等於 L/2 的都可以加進來, 而大於L/2的可