原创 [離散化+線段樹] POJ - 2528 Mayor's posters

**[離散化+線段樹] POJ - 2528 Mayor's posters** -題目大意: - 給你一個長度爲10000000的牆,在上面貼n張海報,海報的高度相同,寬度在1

原创 [線段樹 點更新 段查詢]A - 敵兵佈陣 HDU - 1166

**[線段樹 點更新 段查詢]A - 敵兵佈陣 HDU - 1166 ** 題目大意:有1-n個敵營,每個敵營有一定數目的敵人。三種操作:1,i敵營人數增加j;2,i敵營人數減少j;3,查詢區間i,j敵營

原创 [線段樹 段更新] HDU - 1698 E - Just a Hook

**[線段樹 段更新] HDU - 1698 E - Just a Hook** 題目大意:有一個長度爲n的鉤子,它由n個小鉤子構成,每個小鉤子初值爲1。由一種操作,對於區間 [x,y],將該區間內每

原创 CodeForces 429B Working out

題目鏈接:http://codeforces.com/problemset/problem/429/B B. Working out time limit per test 2 seconds memory limit per

原创 [線段樹] POJ - 3264 Balanced Lineup

**[線段樹] POJ - 3264 Balanced Lineup** 題目大意:給你1-n頭牛,牛的身高不同,有多次詢問,每次給你l,r,問從l號牛到r號牛最高與最低的差值。

原创 單例模式

單例模式,是一種常用的軟件設計模式。在它的核心結構中只包含一個被稱爲單例的特殊類。通過單例模式可以保證系統中,應用該模式的類一個類只有一個實例。即一個類只有一個對象實例。 以下代碼通過單例模式保證皇帝的唯一性。 皇帝類: public

原创 文章標題

[簡單DP]L - Common Subsequence POJ - 1458 題意:最長公共子串,DP入門題目。 分析:我直接用的O(n*m)的做法。。。 代碼: #include<stdlib.h> #incl

原创 [簡單DP]Monkey and Banana HDU - 1069

[簡單DP]Monkey and Banana HDU - 1069 題意:給你N種類型長方體,長寬高分別爲X,Y,Z,每種長方體都可以無限制的使用。現在讓你把他們一個接着一個組成一個儘可能高的塔,每一層只能有一個長方體,並

原创 [簡單DP]Tickets HDU - 1260

[簡單DP]Tickets HDU - 1260 題目大意:對於每個樣例,告訴你需要賣票給K個人,每次可以賣1張或者兩張,然後告訴你K個數字,分別是賣給K個人需要的時間,最後告訴你K-1個數字,是第i-1和第i個

原创 文章標題

[簡單DP]N - Longest Ordered Subsequence POJ - 2533 題意:最長遞增子序列,n<=1000 分析:比較好理解的就是O(n*n)複雜度的。。。。還可以通過二分優化成o(n*logn)的。

原创 [思維題] Ignatius and the Princess IV HDU - 1029

[思維題] Ignatius and the Princess IV HDU - 1029 題目大意:在給定的N個數字中,有個數字出現至少(N + 1)/ 2次,讓你找出他。 分析:這道題kuangbin大神把他放到了簡單DP

原创 [前綴和] Codeforces Round #419 (Div. 2)B. Karen and Coffee

[前綴和] Codeforces Round #419 (Div. 2)B. Karen and Coffee 題目大意:給你n次更新, 整數k,以及q次詢問,都是200000.每次更新,[l

原创 [簡單DP]免費餡餅 HDU - 1176

[簡單DP]免費餡餅 HDU - 1176 分析: 題目說gameboy想要吃儘可能多的餅,那就往DP想吧。。。發現影響結果的因素分別是時間和位置。因此我們使用DP[i][j]表示第i秒站在j位置時,得到的餅的最

原创 [簡單DP]FatMouse's Speed HDU - 1160

[簡單DP]FatMouse's Speed HDU - 1160 題意:給定一組數,每組包含兩個整數。要求輸出該組數的一個子集,該子集的第一個數逐漸增大,第二個數逐漸變下。使得這個子集儘可能的大並輸出對應小標。 分

原创 [區間DP] Multiplication Puzzle POJ - 1651

[區間DP] Multiplication Puzzle POJ - 1651 題目大意:給定一個數組,第一個數和最後一個數不能選,每次拿走一個數,得到的價值爲該數字和左右相鄰的三個數字的乘積,n-2次操作後,求