題目見鏈結 .
設 f[i,
j]f[
i,j]
表示前 i
i 場比賽, 使用的馬屬於前 j
j 匹馬的最大收穫,
則 f[i,
j]=max(
f[i,
j−1]
,f[i
−1,j
−1]+
cost
j)f[
i,j]
=max(f
[i,j
−1],
f[i−
1,j−
1]+c
ostj
),但是這樣 dpd
p 不能覆蓋所有情況, 決策時只考慮了 選擇前 j
j 匹馬 .
q:qq:q: 為什麼不使用剛好快於齊王最快的馬?a:
a:因為若兩匹馬同時大於齊王最快的馬時, 這兩匹馬都大於齊王的任何一匹馬, 使用哪個沒有區別 .
: 第三個分支如何選擇 ?a:
a:看情況, 具體來說 ↓↓,
由於每場比賽田忌隨意擇馬, 所以為了更方便處理, 先將齊王的馬從大到小排序, 對答案沒有影響 .dp
dp的方法就待填坑吧…
咕咕咕
#include
#define reg register
int n;
int a[
2005];
int b[
2005];
void
work()
}printf
("%d\n"
, ans);}
intmain()
田忌賽馬(貪心)
描述 中國古代的歷史故事 田忌賽馬 是為大家所熟知的。話說齊王和田忌又要賽馬了,他們各派出n匹馬,每場比賽,輸的一方將要給贏的一方200兩 如果是平局的話,雙方都不必拿出錢。現在每匹馬的速度值是固定而且已知的,而齊王出馬也不管田忌的出馬順序。請問田忌該如何安排自己的馬去對抗齊王的馬,才能贏取最多的錢...
田忌賽馬(貪心
給出田忌和齊王各馬的速度,求最優得分 我的貪心策略 當然是錯的 1,用我方在 可以 戰勝 或 比平 對方最慢的馬 的馬 中 最慢的馬 去比 對方最慢的馬 2,直到我方最快的馬也下場了,剩下的馬預設全部戰敗 這種策略明顯是不對的 我方的快馬的貪心策略應該是擊敗能力範圍內對方最快的馬 浪費最小 我方的慢...
貪心DP 田忌賽馬
田忌賽馬 描述 description 中國古代的歷史故事 田忌賽馬 是為大家所熟知的。話說齊王和田忌又要賽馬了,他們各派出n匹馬,每場比賽,輸的一方將要給贏的一方200兩 如果是平局的話,雙方都不必拿出錢。現在每匹馬的速度值是固定而且已知的,而齊王出馬也不管田忌的出馬順序。請問田忌該如何安排自己的...