好題題目

POJ 1191 棋盤分割 題意:一個8*8的棋盤分割n-1次把它分成n個矩形(每次分割的時候都要保證切下來的和剩下的都是矩形)。每個棋盤格子又一個值。求這n個矩形的總分的方差最小。(這個題得好好的在理解上幾遍)

思路:dp+記憶化搜索。每次一刀把一個矩形分成兩個橫着切豎着切然後選擇是保留那一塊然後找出最小的平方和最後套到方差公式裏。大佬題解

Newcoder 38 B.購物 題意:一共n天糖果店每天產m個糖,一個人在一天之內買K個糖要額外支付K*K塊錢這個人想要在這n天中至少每天喫一顆,求最小花費。

思路:dp[i][j]前i天買j個糖果花的最少的錢,只需要將每一天糖果店產的糖果的錢從小到大排序取個前綴和就肯定是當前天能買k個糖果花的最少的錢一天天的遞推就行。題解

HDU 5807 Keep In Touch 題意三個人,n個城市並且這n各城市之間有m個單向道連接,給出q此查詢每次查詢分別給出這三個人的位置,這三個人可以在相同也可以在不同城市要求這三個人時刻都能相互聯繫(可以相互聯繫的條件 兩個城市之間的電波值之差<=k,k在題目中給出)。

思路:把每一次三個人同時走分解成三個人按順序走然後就可以通過這三個人走的狀態來記錄方案數之後一遍預處理打表最後按照詢問直接輸出。題解(還有幾個沒看懂看懂了再把它整理上)

 HDU 5623 KK's Number 題意:n個數兩個人輪迴取每次可以取任意多個數但是得分只有這n個數裏最小的數的數值每個人的取值策略均是零自己的分數減去對手的分值最大。求先手在最後所能得到的差值是多少。這個題第一眼看上去有點像博弈論取數,設dp[i]表示剩下i個數的時候先手拿到的最大差值,然而通過把每一種情況列舉出來發現一個規律dp[i]=max(a[i]-dp[i-1],dp[i-1]).(我的理解是因爲是交替着選所以一個人再選的時候肯定是會選當前最大的一個因爲選了多個的話那麼肯定會比選一個最大的那個值小那麼肯定就不符合最初的那個策略了,假如dp[i]是先手,那麼就可以把後手看成dp[i-1]的先手如此交替,而選數是從n個數開始選那麼dp[n]肯定就對應題目中的先手了。)

CodeForces 611 C. New Year and Domino 題意:一個由". #"組成的矩陣可以把一根木棍放在連續的兩個點上連續橫着或豎着的。然後多個查詢每次查詢給出這個矩形的左上角的端點和右下角的端點,輸出這個矩形中一共可以有多少種木棍擺放方法。

思路:兩個數組分別記錄豎着的棍和橫着的棍然後容斥定理dp[i][j]求出每一個(1,1)到(i,j)中的擺放種數最後在查詢時把下邊的豎着的和右邊橫着的(因爲這兩種情況已經超出了界限)刪掉。這樣就可以O(1)的輸出。

HDU 5800 To My Girlfriend 題意給女盆友買禮物求從n個物品中選取總價值爲m的物品且包含i,j不包含l,k的方案數。這個思路是真吊根據每個物品一共有四種狀態選不選必選比不選,建立四維數組i,j,s1,s2表示前i個物品j價值s1個必選而且題意有兩個必選兩個必不選這就把後二位限制到了2,狀態轉移也很巧。跪拜

GYM 101128 E.Wooden Signs 這個題比較考研空間想象力 ,題意:n個木棍每個木棍有一個箭頭端和無箭頭端給出第一個木棍的座標然後給出n個箭頭端的座標,要求使得相鄰的兩個木棍有一個端點重合並且有相交的部分的排法一共有多少。

思路dp[i][j][2];表示第i個木棍的非箭頭端在j點0,1表示朝左還是朝右,這樣就可以兩個循環以i的箭頭端爲分界更新dp[i][k][2]的值,不過需要注意i和i-1的相對位置因爲不只是朝左的可以更新朝左的朝右的也可以更新朝左的同理另一邊也是。實在想不通就畫畫圖圖出來就很明白。

hdu2639 01揹包變形,這個題是求第K重的總重量多加一維就好了但是他的轉移方法用了類似排序的思想題解

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章