題意:有0~10共11個座標位置,現在有n個餡餅掉在這11個位置,告訴每個餡餅落下的時刻t和座標x,上一秒位於x出的人只能移動到x-1,x,x+1這三個位置去接餡餅,問最多能接住多少餡餅。
解法:
dp[i][j]表示 i 時刻在 x 處能接住的最多餡餅數。dp初始化為0,先計算出i時刻j位置有多少餡餅,這樣感覺就轉化成數塔問題了,可以倒著時間dp,最後答案就是dp[0][5];也可以正著,最後答案是dp[t][0~10]中的最大值(t是最大時間),正著時要注意控制起點要從5開始。以上題解**
題意:n∗
n 個小方格,經過每個格仔需要一定時間,從左上角走到右下角使得經過的格仔上的總時間最小,問有多少種方案。
解法:
用bfs搜一下,每個點到右下角的最短路,然後記憶化搜尋次數以上解法**
題意:
解法:
題意:
解法:
題意:所有的城市都得走一次,最後回道點1,求最小耗油量。。
解法:floyd+狀壓dp (floyd本身也是dp的嘛……)
參考**鏈結(l(ai)x(in)dd的部落格鏈結)
2016XTU演算法專題個人賽1 題解
題意 n個團隊,每個團隊1 4人,搭可以坐4人的車,每個團隊的人必須在同一輛車上,問最少需要多少輛車?解法 4人團隊每個一輛車 1個3人團隊 1個1人團隊拼一輛 2人團隊每2個一輛車,單出的和2個1人團隊拼 剩下的1人團隊4個拼一輛。題意 給出一些閉區間,把它們合併,要求合併成的區間數量最少,並按公...
2016 SCUT 專題訓練 簡單dp
link 從n件物品中搬走2 k 種,每次搬兩件,消耗的體力是兩手物品重量差的平方,對物品按重量排序之後,可以證明 搬相鄰重量的物品才能消耗最少,abcd四件物品重量非嚴格遞增,先搬bc再搬ad消耗的體力一定不會比先搬ab再搬cd小。很容易推出來的。所以dp k n 表示從前n個物品了搬了k對物品的...
演算法 排序專題
快速排序 演算法導論版 version1 左邊第乙個元素為主元 include include includeusing namespace std int partition int a,int left,int right swap a i a left return i void swap i...