題目描述
一群外星人將要攻擊火星。
火星的地圖是乙個n個點的無向圖。這夥外星人將按照如下方法入侵,先攻擊度為0的點(相當於從圖中刪除掉它),然後是度為1的點,依此類推直到度為n-1的點。
所有的點度統計是動態統計的。(乙個點刪掉後,與之相連的點的點度都會-1)。外星人攻擊度為某個數的點時是同時攻擊的。
你需要設計這個圖的邊的方案來使得未被攻擊的點最多。
輸入輸出格式
輸入格式:
輸入檔案包含一行乙個整數n。
輸出格式:
一行乙個整數,表示最多的最後未被攻擊的點。
輸入輸出樣例
輸入樣例#1:
3輸出樣例#1: 1說明
【樣例解釋】
①-②-③,這樣首先刪掉度為1的①和③,此時②度數為0,不會被刪去。
【資料範圍】
對於20%的資料1<=n<=10
對於100%的資料1<=n<=50000
【題目**】
tinylic改編
【分析】
結論題…
真的好神奇…
by tinylic
經過找規律可以發現答案為n-2.
以下是證明:
令d[i]為i 的度數。
考慮乙個點i 不被刪去的條件,必然是前面與i 相鄰的點j(可以是多個)被刪去,導致d[i]
減小至小於等於d[j].
1)易知ans!=n。
2)考慮ans能否是n-1,也就是只刪乙個點,設這個點為i。
因為i 是唯一被刪去的點,所以d[i]一定不是最大的,即d[i]
#include
#include
using
namespace
std;
int main()
洛谷 P1088 火星人
題目描述 人類終於登上了火星的土地並且見到了神秘的火星人。人類和火星人都無法理解對方的語言,但是我們的科學家發明了一種用數字交流的方法。這種交流方法是這樣的,首先,火星人把乙個非常大的數字告訴人類科學家,科學家破解這個數字的含義後,再把乙個很小的數字加到這個大數上面,把結果告訴火星人,作為人類的回答...
洛谷 P3356 火星探險問題
給出一張地圖,上面有一些石塊或障礙,現在有一些運載車從左上角出發,要去右下角,只能向右或向下走,每個石塊只能收集一次,輸出收集到最多石塊的路徑.多個運載車,不難想到是網路流,但難點在於每個石塊最多收集一次,而且要收集最多石塊.可以用費用流來做,每個點拆成兩個入點向出點連一條流量為inf,費用為0的邊...
洛谷 P1088 火星人
題目描述 人類終於登上了火星的土地並且見到了神秘的火星人。人類和火星人都無法理解對方的語言,但是我們的科學家發明了一種用數字交流的方法。這種交流方法是這樣的,首先,火星人把乙個非常大的數字告訴人類科學家,科學家破解這個數字的含義後,再把乙個很小的數字加到這個大數上面,把結果告訴火星人,作為人類的回答...