洛谷P1650 田忌賽馬 楊子曰題目

2021-08-21 22:25:56 字數 2370 閱讀 8070

題目描述田忌很沮喪,直到他遇到了著名的軍師――孫臏。田忌採用了孫臏的計策之後,三場比賽下來,輕鬆而優雅地贏了齊王200銀幣。這實在是個很簡單的計策。由於齊王總是先出最好的馬,再出次好的,所以田忌用常規馬對齊王的超級馬,用自己的超級馬對齊王的上級馬,用自己的上級馬對齊王的常規馬,以兩勝一負的戰績贏得200銀幣。實在很簡單。

如果不止三匹馬怎麼辦?這個問題很顯然可以轉化成乙個二分圖最佳匹配的問題。把田忌的馬放左邊,把齊王的馬放右邊。田忌的馬a和齊王的b之間,如果田忌的馬勝,則連一條權為200的邊;如果平局,則連一條權為0的邊;如果輸,則連一條權為-200的邊……如果你不會求最佳匹配,用最小費用最大流也可以啊。 然而,賽馬問題是一種特殊的二分圖最佳匹配的問題,上面的演算法過於先進了,簡直是殺雞用牛刀。現在,就請你設計乙個簡單的演算法解決這個問題。

輸入輸出格式

輸入格式:

第一行乙個整數n,表示他們各有幾匹馬(兩人擁有的馬的數目相同)。第二行n個整數,每個整數都代表田忌的某匹馬的速度值(0 <= 速度值<= 100)。第三行n個整數,描述齊王的馬的速度值。兩馬相遇,根據速度值的大小就可以知道哪匹馬會勝出。如果速度值相同,則和局,誰也不拿錢。

資料規模

對於20%的資料,1<=n<=65;

對於40%的資料,1<=n<=250;

對於100%的資料,1<=n<=2000。

輸出格式:

僅一行,乙個整數,表示田忌最大能得到多少銀幣。

輸入輸出樣例

輸入樣例#1:

3

92 83 71

95 87 74

輸出樣例#1:

200
楊子曰:孫臏居然可以控制全場的馬,真不要臉,(逃

這道題的解法可以說是非常多——dp,貪心,(還有題目裡面說的轉化成最佳二分圖匹配以後用費用流,呵呵,真是好辦法),我們今天就來今天我們就來簡單的曰一曰貪心的做法:

有人提出大膽思路,比較兩邊最慢的馬,如果田忌最慢的馬比齊王最慢的馬慢,那就用田忌最慢的馬和齊王最快的馬拼掉,如果田忌最慢的馬比齊王最慢的馬快,那就乾掉,如果平局那就,額……

1.如果平局,那就平掉

隨手乙個反例:

齊王:1 2 3

田忌:1 2 3

聽取wa聲一片

2.如果平局,那就用田忌最小的和齊王最快的馬幹

隨手乙個反例:

齊王:1 2

田忌:1 3

聽取wa聲一片

可見,如果只是比較兩邊最小的馬顯然是不夠的,楊子曰過:失敗是成功之母,我認為如果最慢的馬平局了,我們可以去比較最快的馬,於是我們就可以的出了以下思路:

先排序1.田忌最慢的馬比齊王最慢的馬快,乾掉(原因:說明田忌的任何一匹馬都能乾掉齊王最慢的馬,那我們就用最慢的唄)

2.田忌最慢的馬比齊王最慢的馬慢,我們就用田忌最慢的馬和齊王最快的馬輸掉(原因:說明田忌最慢的馬無論如何都要輸,那就耗掉乙個對面最好的唄)

3.田忌最慢的馬比齊王最慢的馬一樣快,那就做下面的事情:

4.田忌最快的馬比齊王最快的馬快,乾掉(原因:說明田忌最快的馬可以乾掉齊王的任何一匹,那就乾掉最快的唄)

5.田忌最快的馬比齊王最快的馬慢,我們就用田忌最慢的馬和齊王最快的馬輸掉(原因:說明齊王最快的馬可以乾掉田忌的任何一匹,那就讓他浪費在最慢的馬上唄)

6.最快的馬也一樣快,那我們的策略是:用田忌最慢的馬和齊王最快的馬幹(原因:即使如果這樣輸掉了,馬上就可以贏回來,而且在之後贏得機率會更大,自己來幾個資料模擬一下就一清二楚了)

ok,完事

c++**:

#include

using

namespace std;

int a[

10005

],b[

10005];

intmain()

for(

int i=

1;i<=n;i++

)sort

(a+1

,a+n+1)

;sort

(b+1

,b+n+1)

;int la=

1,lb=

1,ra=n,rb=n,ans=0;

for(

int i=

1;i<=n;i++)}

} cout

}

於xj機房607

P1650 田忌賽馬

我在考試的時候看到了這道題,在一瞬間就蒙逼了,這是什麼題?請原諒我 250 250 250 的智商 於是懵裡懵懂的打了個d dd 電 f ff 風 s ss 扇 結果連樣例都沒有過。畢竟才學搜尋沒多久嘛,也就兩年 再一看,看出了田忌賽馬的味道,原來是這樣 立刻打了個貪心信心滿滿的交上去。includ...

P1650 田忌賽馬

n 齊王和田忌各有n nn匹馬,每匹馬都有乙個強度值ai bia i b i ai bi 每次齊王和田忌要從自己的n nn匹馬中選乙個上去比賽,其中齊王總是讓馬從強到弱上 若兩匹馬強度不同,則強度高的那一方將獲得200 20020 0銀幣,若強度相同,兩方都獲得不了盈利 試著替田忌安排一種讓馬上去比...

P1650 田忌賽馬

我在考試的時候看到了這道題,在一瞬間就蒙逼了,這是什麼題?請原諒我 250 的智商 於是懵裡懵懂的打了個 d 電 f 風 s 扇 結果連樣例都沒有過。畢竟才學搜尋沒多久嘛,也就兩年 再一看,看出了田忌賽馬的味道,原來是這樣 立刻打了個貪心信心滿滿的交上去。includeusing namespace...