題目描述
利貝爾王國的盧安市因為前段時間的市長**事件,導致沒有市長管理城市。他們需要乙個新的市長。
競選的人有兩位。一位是諾曼,因支援旅遊業而受到支持者的擁護。一位是波爾多斯,代表的是盧安的傳統行業——漁業。但是他們的支持者在盧安的倫格蘭德大橋吵起來了!
現在,他們每個人都與幾個不同的人進行爭吵。身為游擊士的你,需要調解這場爭鬥。
參與吵架的共有n人,每個人都有乙個倔強指數,第i個人的倔強指數是ai。你可以認為他們的每個爭吵都只發生在兩個人之間。你需要按照一定順序把每乙個人拉出這個「戰場」。拉出乙個人的代價是當前與他正在進行爭吵的所有人的倔強指數之和,且拉出某個人以後,所有原來與他有關的吵架可以認為已經停止。
輸入第一行兩個整數n m。
第二行n個整數,第i個整數表示ai。
下面m行每行兩個整數pi pj,表示pi pj之間發生了一次爭吵。
輸出一行乙個整數,表示完成任務的最小代價。
樣例輸入
4 3樣例輸出10 20 30 40
1 41 2
2 3
40提示
對於20%的資料,n<=9,m<=10。
對於50%的資料,n<=15,m<=20。
對於80%的資料,n<=1000,m<=1,000,000。
對於100%的資料,n<=1,000,000,m<=1,000,000。
對於100%的資料,0<=ai<=1000,輸入保證沒有人與自己吵架,保證資料隨機生成。
這題就一句話貪心
而缺這題貪心貪的十分巧妙(正
我們可以將爭吵的人構成乙個圖
我們發現這個圖每條邊最終都要被刪去,才能完成任務
所以每條邊的權值盡量小就可以了
那就是這條邊所連兩個點較小的點權值
最後把所有邊權加一起就對了
#include#include#include
#include
using
namespace
std;
int a[1000001
]; int
main()
intx,y;
for(i=1;i<=m;i++)
cout
<}
NOIP模擬 修路
這題第一眼看上去有些懵逼,還以為是dp。第二眼,哦,這麼裸的最小生成樹,2分鐘打完,拍都沒對,自信100分。最終100分。每條邊的權值減去連個節點的權值,所有的邊做一次最小生成樹就好了。include include include include include define fo i,a,b f...
NOIP模擬 項鍊
經過一番周折,bob找到了alice,為了安慰alice驚魂未定的心,bob決定給alice買一條手鍊,這條手鍊由m個珍珠組成,每個珍珠上刻著不同的小寫字母。當alice看到一些字母按照一定的順序排列成的字串時,就會產生一定的愉悅值。bob現在可以在這m個珍珠上刻上字母,現在他想知道,如何刻字母可以...
NOIP模擬 幻象
phantom是一位愛思考的哲 學家。最近phantom得到了森 妖精的真傳。在他練功的時候,每秒他的思緒中都有一定的概率浮現出奇 異的幻象,持續x秒的幻象將產生 空格 的幻象值。phantom練功發自真心,他想知道,在n秒內他期望產生的幻象值是多少。等我比賽完之後,我們才知道 空格 是x2 所以比...