藍橋杯 生命之樹
#include <cstdio> #include<iostream> #include <cstring> #include <cmath> #include <algorithm> #include<set> using namespace std; int n; int map1[10008][10008],v[10008],a[10008]; int max1=0; //思路:從子樹開始找最大的值,更新節點是如果子樹的節點會讓自己的 //值變大就加上,不然不加,每跟新一次節點就更新一次最大值 void dfs(int cnt) { v[cnt]=1; for(int i=1;i<=n;i++) { if(!v[i]&&map1[cnt][i]) { dfs(i); if(a[cnt]<a[cnt]+a[i]) { a[cnt]=a[cnt]+a[i]; } max1=max1>a[cnt]?max1:a[cnt]; } } } int main() { cin>>n; for(int i=1;i<=n;i++) {scanf("%d",&a[i]); } memset(map1,0,sizeof(map1)); memset(v,0,sizeof(v)); int b,c; for(int i=1;i<n;i++) { scanf("%d%d",&b,&c); map1[c][b]=map1[b][c]=1; } dfs(1); cout<<max1<<endl; return 0; }
相關推薦
藍橋杯 生命之樹
#include <cstdio> #include<iostream> #include <cstring> #include <cmath> #in
樹形dp|無根樹轉有根樹|2015年藍橋杯生命之樹
兩個 代碼 ima www. https 2015年 藍橋 ack 大小 2015年藍橋杯第十題——生命之樹(無根樹dfs) ①暴力解法:枚舉子集(選點) + dfs判斷連通性(題目要求連通)滿足上面兩個條件下找出最大值權值和 ②dfs無根樹轉有根樹,遞歸找最優 先學習
藍橋杯第六屆省賽JAVA真題----生命之樹
生命之樹 在X森林裡,上帝建立了生命之樹。 他給每棵樹的每個節點(葉子也稱為一個節點)上,都標了一個整數,代表這個點的和諧值。 上帝要在這棵樹內選出一個非空節點集S,使得對於S中的任意兩個點a,b,都存在一個點列 {a, v1, v2, …, vk, b} 使得
第六屆-藍橋杯省賽-生命之樹
10、生命之樹 在X森林裡,上帝建立了生命之樹。他給每棵樹的每個節點(葉子也稱為一個節點)上,都標了一個整數,代表這個點的和諧值。上帝要在這棵樹內選出一個非空節點集S,使得對於S中的任意兩個點a,b,都存在一個點列 {a, v1, v2, ..., vk, b} 使得這個點
藍橋杯-2015省賽-生命之樹
在X森林裡,上帝建立了生命之樹。 他給每棵樹的每個節點(葉子也稱為一個節點)上,都標了一個整數,代表這個點的和諧值。 上帝要在這棵樹內選出一個非空節點集S,使得對於S中的任意兩個點a,b,都存在一個點列 {a, v1, v2, ..., vk, b} 使得這個點列中的每個
藍橋杯第六屆 第10題 生命之樹
在X森林裡,上帝建立了生命之樹。 他給每棵樹的每個節點(葉子也稱為一個節點)上,都標了一個整數,代表這個點的和諧值。 上帝要在這棵樹內選出一個非空節點集S,使得對於S中的任意兩個點a,b,都存在一個
2015年藍橋杯省賽B組第10題--生命之樹
在X森林裡,上帝建立了生命之樹。 他給每棵樹的每個節點(葉子也稱為一個節點)上,都標了一個整數,代表這個點的和諧值。 上帝要在這棵樹內選出一個非空節點集S,使得對於S中的任意兩個點a,b,都存在一個點列 {a, v1, v2, ..., vk, b} 使得這個點列中的每個點都是S裡面的元素,且序列中相鄰兩個點
2017第八屆藍橋杯決賽之旅
時間過得好快,四小時匆匆過去了。其實三個小時的時候就已經坐不住了,想跑。。再看題,看不懂,再檢查,不知道破綻在那裡。拿起麵包,狠狠地撕開咬了一口,拿過牛奶猛吸幾口。看看對面的強哥,笑了笑
2014藍橋杯預賽之猜字母
標題:猜字母 把abcd...s共19個字母組成的序列重複拼接106次,得到長度為2014的串。 接下來刪除第1個字母(即開頭的字母a),以及第3個,第5個等所有奇數位置的字母。 得到的新串再進行刪除奇數位置字母的動作。如此下去,最後只剩下一個字母
藍橋杯 校外的樹 線段樹
#include <iostream> #include <stdio.h> #define N 10010 #define lson l,mid,rt<<1 #define rson mid+1,r,rt<<1|1 using namespace std;
藍橋杯練習之入門訓練
第一題: 問題描述 Fibonacci數列的遞推公式為:Fn=Fn-1+Fn-2,其中F1=F2=1。 當n比較大時,Fn也非常大,現在我們想知道,Fn除以10007的餘數是多少。 輸入格式 輸入
生命之樹常青,英雄之魂永不朽
一 上一個被世人銘記的庚子年是1900年,它使得一群普通人被世人銘記,那些英勇抗擊八國聯軍侵華的普通百姓,他們用自己的拳腳功夫和冷兵器和西方列強鬥爭,旨在爭取民族自強,然而卻被清政府和八國聯軍聯合絞殺下最終失敗。 那是一群英雄,一群普通人,他們拋棄頭顱灑下的點滴熱血,迄今仍然在中華大地上蕩起了慷慨悲歌。 今年
藍橋杯——算法訓練之乘積最大
算法 char 朋友 題意 man time space margin family 問題描寫敘述 今年是國際數學聯盟確定的“2000——世界數學年”,又恰逢我國著名數學家華羅庚先生誕辰90周年。在華羅庚先生的家鄉江蘇金壇,組織了一場別開生面的數學智力競賽的活動
藍橋杯實例之開發板特點
單片機 以及 三種 one size 分享 總結 為什麽 實驗 本人之前參加了藍橋杯,下面我將總結一下我的經歷,由於本人技能有限,請多見諒! 我之前用過幾種51的板子,說說藍橋杯的板子: 首先開發板設置了三種芯片的插座,說實話,我估計設計者是出於性價比高的考慮,如果
藍橋杯java 基礎練習 Huffuman樹
i++ 整數 ans java 輸入格式 ava sca new 下一個 問題描述 Huffman樹在編碼中有著廣泛的應用。在這裏,我們只關心Huffman樹的構造過程。 給出一列數{pi}={p0, p1, …, pn-1},用這列數構造Huffman樹的過程如下:
藍橋杯之FJ的字符串
結束 log 輸出 can %d style scan bad esp 基礎練習 FJ的字符串 時間限制:1.0s 內存限制:512.0MB 問題描述 FJ在沙盤上寫了這樣一些字符串: A1 = “A” A2 = “ABA” A3 = “A
藍橋杯練習系統—基礎練習 sine之舞
ostream 練習系統 style log pan 準備 post 題目 ... 題目:最近FJ為他的奶牛們開設了數學分析課,FJ知道若要學好這門課,必須有一個好的三角函數,所以他準備和奶牛們做一個“Sine之舞”的遊戲,寓教於樂,提高奶牛們的計算能力。 不妨設 A
藍橋杯之16進制轉8進制
系統 建立 轉換 pan jdk ram string class col 題目: 問題描述 給定n個十六進制正整數,輸出它們對應的八進制數。輸入格式 輸入的第一行為一個正整數n (1<=n<=10)。 接下來n行,每行一個由0~9、大寫字母A~F組成的字
【藍橋杯】第六屆國賽C語言B組 1.積分之迷(水題)
水題 urn class %d names 風鈴 需要 藍橋 std 小明開了個網上商店,賣風鈴。共有3個品牌:A,B,C。為了促銷,每件商品都會返固定的積分。 小明開業第一天收到了三筆訂單:第一筆:3個A + 7個B + 1個C,共返積分:315第二筆:4個A + 10個
藍橋杯——FBI樹
環境CodeBlocks17 OJ系統通過 // @CGQ 2018/11/22 時間緊迫沒怎麼寫註釋 #include <iostream> #include <stdio.h> #include <stdlib.h> #include <str