原创 線段樹·Just a Hook HDU - 1698 ·區間替換

和POJ3468相對應的區間問題;AC代碼:#include <map> #include <set> #include <stack> #include <cmath> #include <queue> #include <bitset

原创 線段樹·POJ-3468·區間加減區間求和

題目大意:兩種操作:C a b c  a-b區間加上c;Q查詢區間和;解題思路:基本的線段樹模板,唯一要提的就是和HDU-1698相比,lazy標記的處理不一樣,這題需要區間加減,所以向下傳遞的時候需要加點,而HDU-1698是區間替換,

原创 找規律·Number Game ZOJ - 3346

題目大意:A和B做遊戲規則是:首先給定了N0,A選擇一個數a(N0≤a≤N0^2),B選擇一個數b,保證a/b 是一個素數的正數次冪。下一次遊戲,將b作爲N0,繼續;若A能選到1990,則A贏,若B能選到1則B贏。A,B走的都是最優策略,

原创 ST表·RMQ問題

ST表實際是一種動態規劃思想求解RMQ問題的方法。離線預處理O(nlogn), 在線查詢O(1).以最大值爲例:定義一個二維數組f[i][j],表示從i開始向後2^j個數的最大值.處理完畢之後我們要求[L, R]內的最大值就可以比較f[L

原创 線段樹·HDU1166 敵兵佈陣·單點更新區間求和

題目大意:query a, b查詢ab區間的和add a b單點更新,更新a的值sub就是減;AC代碼:#include <map> #include <set> #include <stack> #include <cmath> #in

原创 2015百度之星初賽(1)·找連續數·RMQ

題目大意:小度熊拿到了一個無序的數組,對於這個數組,小度熊想知道是否能找到一個k 的區間,裏面的 k 個數字排完序後是連續的。 現在小度熊增加題目難度,他不想知道是否有這樣的 k 的區間,而是想知道有幾個這樣的 k 的區間。解題思路:如果

原创 DP· HDU - 2571 ·命運

題目大意:、、、、中文的,大哥自己看吧求你了。。解題思路:。。。。打擾了。。寫了一天博客寫不動了,emmDP求解(求從左上角走到右下角的最大值),遞推

原创 貪心+multiset · HDU - 4268 ·Alice and Bob

題目大意:Alice有一堆卡片,Bob有一堆卡片,問A中有幾張卡片能覆蓋B中的。解題思路:首先題意就埋了點坑(可能是自己SB):Please pay attention that each card can be used only on

原创 遞推+思路構造·UVA 11261·Bishops

題目大意:國際象棋的象可以攻擊到自己所在的主副對角線的所有位置,給定幾個象棋棋子,問多少點不會被攻擊到;解題思路:如果數據量夠小,我們可以暴力查找,但4e4的矩陣不可能支持查詢點,我在做這道題的時候,一開始就感覺應該有一個初始化的過程,就

原创 線段樹·POJ-3667·Hotel···區間合併

#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #include <cmath> #include <queue> #includ

原创 記憶化搜索+迴文串--UVA 10617 Again Palindrome

題目大意:給你一個串,你可以刪掉任意個字符使其成爲迴文串,問有幾種方法。解題思路:一開始以爲可以用Manacher處理出輔助數組P,在通過組合數得到答案,發現結果不對。比賽結束後得知是記憶化搜索。。。設數組DP[i][j]表示i到j的迴文

原创 狀態壓縮+BFS POJ - 1324 Holedox Moving

題目大意:一條蛇想吃到在(1, 1)的東西,問最短路徑;解題思路:BFS,很經典的問題,但是這個題有一點不同的就是蛇並不是一個點,而是折現,我們所多進行的操作就是判斷蛇的下一步移動是否會吃到自己,能吃到就不行。因爲蛇長度最長爲8,我們可以

原创 RMQ+二分 Assignment HDU - 5289

GTMD數組越界返回WAAC代碼:#include <map> #include <set> #include <stack> #include <cmath> #include <queue> #include <bitset> #in

原创 彈性碰撞·POJ-3684-Physics Experiment

題目大意:n個小球在一圓筒內每隔一秒垂直下落,問t秒後n個小球的位置。解題思路:如果只有一個小球,那麼t時間小球的位置很好確定。但是如果多個,像以前Ants那道題一樣就算碰觸也不算他反彈,直接視作繼續前進,但是這裏有個問題就是小球是有半徑

原创 模擬·The Archaeologist's Trouble II ·ZOJ 2058

題目大意:稍微一看就能知道是說*和@在一排中不能相鄰,所以只需要間隔擺放就行;我WA了三次就是有一句:The input is terminated by a negative integer.我沒看見,我的處理是 != -1。AC代碼: