五校聯考3day2 A

2021-09-10 07:31:32 字數 2430 閱讀 2682

帝國時代3是一款十分刺激的rts遊戲。你需要控制自己的一塊殖民地,發展殖民地的經濟和軍事,最終打敗其他殖民地。小l是這個遊戲的狂熱愛好者。一次小l打算打ai試試身手。

小l發展了幾分鐘,自己的殖民地人口便突破了30,然而小l發現大事不好了:

小l還處在不能建造軍事單位的「發現時代」,然而敵人早已經到了「殖民時代」,發展起了一支雄厚的殖民地軍,小l的殖民地受攻擊了卻沒有乙個正規的軍事單位用來防禦!不要認為這是小l 的技術問題,實際上ai還停留在以jg鬥爭為綱的落後理念上,而小l 早就以經濟為第一要務了。

小l在之前已經在自己殖民地的外部,拉起了許多圍牆。

帝國時代3裡的圍牆如圖所示。

每一道圍牆,總是連線著兩個圍牆連線處(以下簡稱「連線處」)。

現在小l有n個連線處,m道圍牆}。

小l雖然沒兵,但是他的智商比ai不知道高到那裡去了,因此,只要每個連線處至少連線著k道圍牆},小l就一定能頂住這波攻擊。

小l可以任意加圍牆,每道圍牆可以連線兩個已有的連線處。

連線處是不能連線自己的,但是這裡有一些規則與原帝國時代3的設定不同,兩個連線處之間可以連線多個圍牆,連線處初始時可能不連任何圍牆,圍牆之間也可以相交。

小l想知道,自己至少要多加多少道圍牆}才能滿足每個連線處至少連線著k道圍牆?

第一行三個整數n, m, k,表示連線處個數、圍牆個數以及每個連線處至少要連線的圍牆個數,連線處被編號為1到n}。

接下來m行,每行兩個正整數x, y,表示這個圍牆連線編號為x的連線處和編號為y的連線處。

輸出一行乙個整數,表示至少要加的圍牆的條數。

輸入1:

2 0 1

輸入2:

5 4 2

1 22 5

4 33 1

輸入3:

4 3 2

1 22 3

1 2輸入4:

5 11 7

1 34 2

1 54 2

2 51 3

4 12 3

4 15 1

1 5

輸出1:

1樣例1解釋:初始時有兩個連線處,題目中要求至少每個連線處要連1個圍牆,我們加乙個圍牆連線這兩個連線處即可。

輸出2:

1樣例2解釋:連線編號為5的和編號為4的連線處即可。

輸出3:

2樣例3解釋:編號為4的連線處沒有連線任何圍牆,編號為3的連線處還需要一條。連線編號為4的和編號為3的連線處之後,編號為4的連線處與另外三個連線處中任意乙個連乙個圍牆即可,注意連線處是不能自己和自己連線的。

輸出4:

7

對於60%的資料,n × ans ≤ 10000000,ans表示最終的答案。

對於前100%的資料,n, m, k ≤ 100000,n ≥ 2, m, k ≥ 0, x ≠ y, 1 ≤ x, y ≤ n。

source / author: 雅禮中學 毛嘯 a

題解:考慮貪心。

如果有點還少了邊,肯定是把後來加上的邊的一端,連上當前需求最多的邊,另一端往後連。

發現,這時答案可以直接計算。

設一開始需求邊數最多的點u 要tot個,其餘的點需求的總和為need

這時有兩種情況。

若tot > need,連完need條邊後除u其他點都夠了k,其餘的邊一端為u,另一端隨意。ans = tot

若tot <= need,答案是

#include#define n 100010

#define inf 2147483647

#define rint register ll

#define ll long long

#define point(a) multiset::iterator

#define mod (ll)(1e9+7)

#define mem(a,b) memset(a,b,sizeof (a))

#define open(x) freopen(x".in","r",stdin);freopen(x".out","w",stdout);

using namespace std;

ll n,m,k,r[n],tot,ans,t,i,need;

int main()

sort(r+1,r+1+n);

for(i=2;i<=n;i++)need+=max(k-r[i],0ll);

if(k-r[1] > need)

need+=k-r[1];

printf("%lld",(ll)ceil((double)need/2));

return 0;

}

時間複雜度:o(n)

五校聯考3day2 A

這題考場考慮不太全 但相比於60,其它90分的人,還是很全的 long long我是開了的,然後後面的特判我也是加了的,可是竟然打錯了?其實這題不需要打的像我這樣麻煩 設a i 表示i點還需連線的邊數 ans表示sigma a i max表示max a i 如果max ans 2,就說明全部連項那個...

JZOJ 4226 五校聯考3day2 A

傳送門 求按照規則使基地可以防禦敵人的入侵的至少要加的圍牆的條數 普通情況用s 2 s 2 s 2 s 2 s 2 s 2特殊地,我們需要對子環的情況進行判斷 include include include include include include include include includ...

五校聯考3day2 C

description 在遠古的yl國大地上,有n個祭壇,每個祭壇上四個方向寫有 艄 毜 鼛 甌 四個大字,其實這在yl國古代分別是 東 南 西 北 的意思。yl國每年都要舉行祈福消災的祭祀活動,這個時候,每個祭壇都要在艄毜鼛甌四個方向中選乙個方向,祭壇將向這個方向發出一道 的光線,如果兩個祭壇發出...