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

原題:

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

題目描述:

GDOI商場推出優(yōu)惠活動(dòng)纤子,以超低價(jià)出售若干種商品核蘸。但是鳍怨,商場為避免過分虧本选酗,規(guī)定某些商品不能同時(shí)購買蒿柳,而且每種超低價(jià)商品只能買一件饶套。身為顧客的你想獲得最大的實(shí)惠,也就是爭取節(jié)省最多的錢垒探。經(jīng)過仔細(xì)研究凤跑,發(fā)現(xiàn)商場出售的超低價(jià)商品中,不存在以下情況:   
n(n>=3)種商品C1,C2,…..,Cn,其中Ci,Ci+1是不能同時(shí)購買的(i=1,2…,n-1)并且C1, Cn也不能同時(shí)購買叛复。   
編程計(jì)算可以節(jié)省的最大金額數(shù)仔引。

輸入:

第一行兩個(gè)整數(shù)K,M(1<=K<=1000).其中K表示超低價(jià)商品數(shù)。K種商品的編號(hào)依次為1,2,…,K褐奥。M表示不能同時(shí)購買的商品對(duì)數(shù).接下來K行咖耘,第i行有一個(gè)整數(shù)Xi表示購買編號(hào)為i的商品可以節(jié)省的金額(1<=Xi<=100).再接下來M行,每行兩個(gè)數(shù)A ,B,表示A和B不能同時(shí)購買撬码,1<=A<=K,1<=B<=K,A<>B

輸出:

僅一個(gè)整數(shù)儿倒,表示能節(jié)省的最大金額數(shù)。

樣例輸入:

3 1 1 1 1 1 2

樣例輸出:

2

分析:

經(jīng)典的樹形DP······

實(shí)現(xiàn):

uses math;
var 
    p,t:array[1..1000,0..500]of longint;     
    c:array[1..1000]of longint;     
    v:array[1..1000]of boolean;     
    f:array[1..2,1..1000]of longint;     
    n,m,a,b,s,i:longint;
procedure make(x:longint);    
var 
    i:longint;    
begin 
    v[x]:=true; 
    for i:=1 to p[x,0] do       
        if not v[p[x,i]] then          
        begin 
            t[x,0]:=t[x,0]+1;          
            t[x,t[x,0]]:=p[x,i];          
            make(p[x,i]);          
        end;    
end; 
procedure dg(x:longint);    
var 
    i:longint;    
begin 
   
    if t[x,0]=0 then       
    begin       
        f[1,x]:=0;       
        f[2,x]:=c[x];       
        exit;       
    end; 
    for i:=1 to t[x,0] do dg(t[x,i]);    
    for i:=1 to t[x,0] do       
    begin 
      
        f[1,x]:=f[1,x]+max(f[1,t[x,i]],f[2,t[x,i]]);       
        f[2,x]:=f[2,x]+f[1,t[x,i]];       
    end; 
    f[2,x]:=f[2,x]+c[x];    
end; 
begin 
    readln(n,m); 
    for i:=1 to n do readln(c[i]); 
    for i:=1 to m do
    begin 
        readln(a,b); 
        p[a,0]:=p[a,0]+1;p[a,p[a,0]]:=b;    
        p[b,0]:=p[b,0]+1;p[b,p[b,0]]:=a;    
    end; 
    for i:=1 to n do 
        if p[i,0]=0 then s:=s+c[i]    
        else 
        if not v[i] then       
        begin       
            make(i);       
            dg(i); 
            s:=s+max(f[1,i],f[2,i]);       
        end; 
    writeln(s); 
end. 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末呜笑,一起剝皮案震驚了整個(gè)濱河市夫否,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌叫胁,老刑警劉巖凰慈,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異驼鹅,居然都是意外死亡微谓,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門输钩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來豺型,“玉大人,你說我怎么就攤上這事买乃∫霭保” “怎么了?”我有些...
    開封第一講書人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵剪验,是天一觀的道長肴焊。 經(jīng)常有香客問我前联,道長,這世上最難降的妖魔是什么抖韩? 我笑而不...
    開封第一講書人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任蛀恩,我火速辦了婚禮疫铜,結(jié)果婚禮上茂浮,老公的妹妹穿的比我還像新娘。我一直安慰自己壳咕,他們只是感情好席揽,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著谓厘,像睡著了一般幌羞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上竟稳,一...
    開封第一講書人閱讀 49,071評(píng)論 1 285
  • 那天属桦,我揣著相機(jī)與錄音,去河邊找鬼他爸。 笑死聂宾,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的诊笤。 我是一名探鬼主播系谐,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼讨跟!你這毒婦竟也來了纪他?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤晾匠,失蹤者是張志新(化名)和其女友劉穎茶袒,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體凉馆,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡弹谁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了句喜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片预愤。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖咳胃,靈堂內(nèi)的尸體忽然破棺而出植康,到底是詐尸還是另有隱情,我是刑警寧澤展懈,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布销睁,位于F島的核電站供璧,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏冻记。R本人自食惡果不足惜睡毒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望冗栗。 院中可真熱鬧演顾,春花似錦、人聲如沸隅居。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽胎源。三九已至棉钧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間涕蚤,已是汗流浹背宪卿。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留万栅,地道東北人佑钾。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像申钩,于是被迫代替她去往敵國和親次绘。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

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