GDKOI2004 使命的召喚

2021-08-21 12:53:03 字數 1525 閱讀 2475

description

你玩過call of duty這個遊戲嗎?這個遊戲以諾曼第登陸為背景,假設你是盟軍的一員,身在前線去完成許多任務而粉碎納粹的野心。現在假設有乙個任務,德軍有很多機槍陣地,火力很猛,如果不把它們摧毀就會對盟軍的推進造成很大損失,盟軍打算派出一些敢死隊員深入陣地把這些機槍陣地炸毀,當然,敢死隊員會有很大的生命危險,所以盟軍的指揮官希望你能幫他把損失降到最少。

input

輸入資料第一行是乙個整數n(1<=n<=200),代表有多少個機槍陣地需要摧毀。然後接下來n行,每行兩個整數xi,yi,代表每個機槍陣地的座標(0<=xi,yi<=30000),然後接著乙個整數m,跟著有m行,每行兩個整數p和q(1<=p,q<=n,p<>q),代表機槍陣地p和機槍陣地q之間有路相連,敢死隊員炸掉乙個機槍陣地之後,必須從當前的機槍陣地出發沿著路到達下乙個x座標比當前陣地大的陣地(因為機槍陣地的縱深方向是沿著x座標遞增方向的),如果不存在這樣的陣地,那這名敢死隊員就完成任務了。簡單來說,乙個敢死隊員可以空降到任意乙個機槍陣地(設為a0),然後從這個陣地出發按照上面所述可以摧毀一系列機槍陣地(順序列為a0,a1,a2…ak),而這一系列機槍陣地的x座標滿足(x0 < x1 < x2 < … < xk)。從安全和效率出發,每個敢死隊員可以帶任意個炸彈。任意兩個敢死隊員的路線不能有交點。現在問你怎麼安排敢死隊員的路線,可以使到用最小數目的敢死隊員去完成這個艱鉅的任務。

output

輸出乙個整數,就是所求的敢死隊員的最小數目。

sample input

4 25990 5850

8263 2957

1067 22231

4109 4577

3 4 1

2 4

1 3sample output

2data constraint

m<10000

hint

解釋:

上面的例子最少需2個敢死隊員,1種方案是:1個摧毀陣地4後再去摧毀陣地2,1個敢死隊員摧毀陣地3後去摧毀陣地1。

. .

. . .分析

「交點」,並非是線與線的交點,不是計算幾何!!!

「任意兩個敢死隊員的路徑不能重複」是指乙個點只走一次!!!

使用匈牙利演算法

.程式:

#include

#include

#include

using

namespace

std;

int x[201],y[201],n,m,ans,g[401][401],f[401];

bool b[401];

bool work(int t)

}return0;}

int main()

for (int i=1;i<=n;i++)

cout

<

}

GDKOI模擬2016 01 24總結

這場比賽爆零了。原因有很多。現就巨集觀而言,進入初三以後,我在資訊學方面遇到很大的瓶頸和壓力,加之初三學習的重負,oi方面一直有些萎靡不振。儘管退出了培優班,但是我發現由於沒有足夠完善的時間安排,我還是不能保證每天都去機房,很多題都沒時間改,更別提去做其它題目了。學習效率也不是很高,當然這些會形成惡...

GDKOI前模擬總結

連續做了4天的模擬賽,比賽之前打擊一下自信心是很好的事情。一開始看題發現第一題都不會感覺生活沒有希望。然後看第二題,好像做過很多遍了。第三題看了題面都覺得不可做,接著第四題,一直在化簡式子,沒有找到突破點。然後先打了第二題。接著第一題想錯了,以為匹配是對的,對拍的時候發現錯了。然後一直調後來發現整個...

gdkoi前的複習

又浪了一天 整理下學的,這兩天都溫習 預習 一下吧。27號就是gdkoi了好怕 資料結構 樹 平衡樹 線段樹 樹狀陣列 樹套樹 可持久化還有主席樹 樹鏈剖分 line cut tree 字串 ac自動機 字尾陣列 字尾自動機 演算法 網路流 最大流sap 最小費用最大流 spfa以及zkw費用流 二...