2017.07.09【NOIP提高組】模擬賽B組 blockenemy 題解

原題:

https://jzoj.net/senior/#contest/show/2043/1

題目描述:

你在玩電子游戲的時候遇到了麻煩赞赖。甜害。。卑硫。徒恋。。 你玩的游戲是在一個虛擬的城市里進行欢伏,這個城市里有n個點入挣,都從0~n-1編了號,每兩個點之間有且僅有一條路徑∠跖。現(xiàn)在径筏,你的敵人到這個城市來踩點了!!!為了阻止他們更好的踩點葛假, 你決定切斷他們所有踩點人員的聯(lián)系,使他們孤軍作戰(zhàn)滋恬,然后在各個擊破聊训。但是這就要切斷某些街道,而你每切斷一條路恢氯,市民就會產(chǎn)生相對的不滿值带斑,不滿值越大,城市的和諧度就越小勋拟。所以你現(xiàn)在需要知道為了使踩點人員所在的點兩兩之間不聯(lián)通所切斷的邊產(chǎn)生的最小不滿值是多少勋磕?

輸入:

第一行一個數(shù):n n<=50 以下n-1行,每行3個數(shù) a敢靡,b挂滓,c 表示a點和b點之間有條路,切斷這條路的不滿值為c 以下若干行 每行一個數(shù)啸胧,表示踩點人員的位置

輸出:

一個數(shù)赶站,最小不滿值

樣例輸入:

5 1 0 1 1 2 2 0 3 3 4 0 4 3 2 4

樣例輸出:

4

分析:

貪心+并查集
將所有邊從大到小依次加入圖中,加入后如無敵人則保留
若有敵人聯(lián)通吓揪,則刪除亲怠,統(tǒng)計答案
盡可能的保留較大邊

實現(xiàn):

#include <cstdio>
#include <iostream>
#include <cmath>
#include <algorithm>
#include <cstring>
#define fo(i,a,b) for (int i=a;i<=b;i++)
#define N 55
using namespace std;
struct note 
{
    int x,y,z;
}a[51];
int dad[51],ans=0,q,n,xx,yy;
bool mk[51];
int get(int x){x==dad[x]?x:dad[x]=get(dad[x]);}
bool cmp(note a,note b){return a.z>b.z;}
int main()
{
    scanf("%d",&n);
    fo(i,1,n-1) scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].z),ans+=a[i].z;
    while (scanf("%d",&q)!=EOF) mk[q]=true;
    fo(i,1,n) dad[i]=i;
    sort(a+1,a+1+n,cmp);
    fo(i,1,n)
    {
        xx=get(a[i].x),yy=get(a[i].y);
        if (xx==yy) ans-=a[i].z;
        else if (!(mk[xx]&&mk[yy]))
        { 
            dad[xx]=yy;
            ans-=a[i].z;
            if (mk[xx]) mk[yy]=true;
        }
    }
    printf("%d\n",ans);
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市柠辞,隨后出現(xiàn)的幾起案子团秽,更是在濱河造成了極大的恐慌,老刑警劉巖叭首,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件习勤,死亡現(xiàn)場離奇詭異,居然都是意外死亡焙格,警方通過查閱死者的電腦和手機图毕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來眷唉,“玉大人予颤,你說我怎么就攤上這事《簦” “怎么了蛤虐?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長肝陪。 經(jīng)常有香客問我驳庭,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任饲常,我火速辦了婚禮蹲堂,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘贝淤。我一直安慰自己柒竞,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布霹娄。 她就那樣靜靜地躺著能犯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪犬耻。 梳的紋絲不亂的頭發(fā)上踩晶,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天,我揣著相機與錄音枕磁,去河邊找鬼渡蜻。 笑死,一個胖子當(dāng)著我的面吹牛计济,可吹牛的內(nèi)容都是我干的茸苇。 我是一名探鬼主播,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼沦寂,長吁一口氣:“原來是場噩夢啊……” “哼学密!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起传藏,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤腻暮,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后毯侦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體哭靖,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年侈离,在試婚紗的時候發(fā)現(xiàn)自己被綠了试幽。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡卦碾,死狀恐怖铺坞,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情洲胖,我是刑警寧澤康震,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站宾濒,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏屏箍。R本人自食惡果不足惜绘梦,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一橘忱、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧卸奉,春花似錦钝诚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至疹鳄,卻和暖如春拧略,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背瘪弓。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工垫蛆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人腺怯。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓袱饭,卻偏偏與公主長得像,于是被迫代替她去往敵國和親呛占。 傳聞我的和親對象是個殘疾皇子虑乖,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內(nèi)容