Codevs1403 新三國爭霸

2022-05-13 17:36:32 字數 2555 閱讀 4058

題目描述 description

pp 特別喜歡玩即時戰略類遊戲,但他覺得那些遊戲都有美中不足的地方。災害總不降臨道路,而只降臨城市,而且道路不能被占領,沒有保護糧草的真實性。於是他就研發了《新三國爭霸》。

在這款遊戲中,加入災害對道路的影響(也就是一旦道路w[i,j]受到了災害的影響,那麼在一定時間內,這條路將不能通過)和道路的占領權(對於一條道路w[i,j],至少需要k[i,j]個士兵才能守住)。

pp可真是高手,不一會,就攻下了n-1座城市,加上原來的就有n座城市了,但他忽略了一點……那就是防守同樣重要,不過現在還來的及。因為才打完仗所以很多城市都需要建設,pp估算了一下,大概需要t天。他現在無暇分身進攻了,只好在這t天內好好的搞建設了。所以他秒要派士兵占領一些道路,以確保任何兩個城市之間都有路(不然敵人就要分而攻之了,是很危險的)。士兵可不是白幹活的,每個士兵每天都要吃掉v的軍糧。因為有災害,所以方案可能有變化(每改變一次就需要k的軍糧,初始方案也需要k的軍糧)。

因為遊戲是pp編的,所以他知道什麼時候有災害。pp可是乙個很節約的人,他希望這t天在道路的防守上花最少的軍糧。

n<=300,m<=5000 ,t<=50;

輸入描述 input description

第一行有5個整數n,m,t,v,k。n表示有城市數,m表示道路數,t表示需要修養的天數,v表示每個士兵每天吃掉的軍糧數,k表示修改一次花掉的軍糧數。

以下m行,每行3個數a,b,c。表示a與b有一條路(路是雙向的)需要c個士兵才能守住。

第m+2行是乙個數p,表示有p個災害。

以下p行,每行4個數,x,y,t1,t2。表示x到y的這條路,在t1到t2這幾天都會受災害。

輸出描述 output description

t天在道路的防守上花費最少的軍糧。

樣例輸入 sample input

3 3 5 10 30

1 2 1

2 3 2

1 3 4

11 3 2 5

樣例輸出 sample output

資料範圍及提示 data size & hint

各個測試點1s

最小生成樹+dp

先處理出第i天到第j天之間通用的最小生成樹,記作sol[i][j]

然後dp,決策某連續的一段時間內用同乙個方案: f[i]=min(f[i],f[j]+sol[j+1][i]*(每人耗糧數)*(天數i-j)+k)

1

/*by silvern

*/2 #include3 #include4 #include5 #include6 #include7 #include8

using

namespace

std;

9const

int mxn=320;10

intread()

13while(ch>='

0' && ch<='9')

14return x*f;15}

16//

17struct

edgee[6010

];20

int cmp(edge a,edge b)

21int mct=0;22

//邊

23int mp[mxn][mxn][51

];24

bool check(int x,int y,int st,int

ed)28

//ban

29int

n,m,t,cv,k,q;

30int fa[mxn];//

並查集fa

31int bas[mxn];//

並查集初始化

32//

基本 33

void init()

34int find(int

x)38

//並查集

39int kruskal(int st,int

ed)54

if(num!=n)return

0x3f3f3f3f;55

return

res;56}

57//

58int f[60

];59

int sol[60][60

];60

intdp()

69return

f[t];70}

71//

72int

main()

76int

x,y,d,st,ed;

77for(i=1;i<=m;++i)

80 sort(e+1,e+m+1

,cmp);

81//

82 q=read();

83for(i=1;i<=q;++i)88}

89//

printf("fin\n");

90 memset(sol,0x3f,sizeof

sol);

91for(i=1;i<=t;++i)95}

96int ans=dp();//

答案 97 printf("

%d\n

",ans);

98return0;

99 }

新三國爭霸

descrption input output sample input 3 3 5 10 30 1 2 1 2 3 2 1 3 4 11 3 2 5sample output 180hint 分析 顯然現在問題如何知道 w j 1 i n le 300 範圍比較小,我們可以 n 2 預處理出區間內...

TYVJ 1064 新三國爭霸

描述 description pp 特別喜歡玩即時戰略類遊戲,但他覺得那些遊戲都有美中不足的地方。災害總不降臨道路,而只降臨城市,而且道路不能被占領,沒有保護糧草的真實性。於是他就研發了 新三國爭霸 在這款遊戲中,加入災害對道路的影響 也就是一旦道路w i,j 受到了災害的影響,那麼在一定時間內,這...

世博會 新三國 新紅樓

先說世博會吧。前幾天帶著我媽一起去看了世博會,雖然是週三去的,可人還是很多,熱門館基本進不去。索性就在外面走,看熱鬧。先隨便看了幾個冷門館 越南 伊拉克。還有個主題館。然後走到馬來西亞館門口,看到幾個穿著傳統服裝的馬來西亞旅遊局的演員,在檯子上跳舞,感覺很新奇。後來看到旁邊的新加坡館,初看感覺人不太...