題目連線:sicily 1176
解題思路:
題目看上去像是一道博弈的題,又像是一道區間型dp的題目(矩陣取數),而它跟矩陣取數的區別就是他是兩個人在取數,所以每次對乙個區間,我們應分兩種情況考慮:第乙個人取左邊的數和取右邊的數,而在分別考慮這兩種情況時,我們又要根據貪心法則來獲取上乙個取數的區間。狀態方程有點複雜,直接上**了:
// problem#: 1176
// submission#: 3601655
// the source code is licensed under creative commons attribution-noncommercial-sharealike 3.0 unported license
// uri:
#include
#define inf 0x3f3f3f3f
using
namespace
std;
int n,a[1005],dp[1005][1005];
int main()}}
printf("in game %d, the greedy strategy might lose by as many as %d points.\n",t++,dp[1][n]);
}return
0;}
總結:
其實是一道用動態規劃的思想來做博弈的題目,可以借鑑矩陣取數。
sicily 1077(動態規劃)
sicily 1077 題目分析 一看便知道,這是乙個多重揹包問題,但是關鍵不在這裡,而在資料量 好大,於是我們需要一種優化 多重揹包轉0 1揹包 解題思路 首先我們考慮第 i 種物品,如果它有num i 個,那麼我們可以把它當成num i 個物品來看,這樣就轉成了0 1揹包問題。但是,這樣沒有用啊...
動態規劃 sicily1221
解題思路 題目有個地方,我理解錯了,導致wa很多次,問題是當你擦除a i 時,你要將它對應的b i 去減剩餘的序列,之前一直以為第i輪就減去b i orz。簡單的動態,dp i 表示去到第i輪時的最大擦出和。按照我們直觀的思路,肯定是最大消費的 也就是b i 比較大的 應該先拿掉,因此我們先按照co...
HDOJ 1176 免費餡餅 動態規劃
problem description 都說天上不會掉餡餅,但有一天gameboy正走在回家的小徑上,忽然天上掉下大把大把的餡餅。說來gameboy的人品實在是太好了,這餡餅別處都不掉,就掉落在他身旁的10公尺範圍內。餡餅如果掉在了地上當然就不能吃了,所以gameboy馬上卸下身上的揹包去接。但由於...