小G有乙個大樹

2021-10-23 20:40:15 字數 1236 閱讀 5593

時間限制:c/c++

1秒,其他語言2秒

空間限制:c/c++

32768k,其他語言65536k

64bit io format:

%lld

小g想要把自己家院子裡的橘子樹搬到家門口(qaq。。就當小g是大力水手吧)

可是小g是個平衡性灰常灰常差的人,他想找到乙個這個橘子樹的平衡點。 怎麼描述這棵樹呢。。。就把它看成由乙個個節點構成的樹吧。結點數就

代表樹重。

輸入描述:

多組資料輸入輸出, 第一行包含乙個整數n(3<=n<=1000)代表樹的結點的個數 以下n-1行描述(1-n)節點間的連線關係。 輸出描述:

輸出兩個個整數 x,num 分別代表樹的平衡點,和刪除平衡點後最大子樹的結點數(如果結點數相同輸出編號小的)。

示例1

輸入複製

312

13

輸出

複製

1

1

樹型dp入門

狀態轉移方程:dp[i]=max(n-dp[i],max(dp[k])),k是i的兒子

dp[x]:表示以x為根的樹的節點數

在dfs過程中把狀態轉移方程帶進去

#

include

using

namespace std;

const

int maxn=

1010

;vector<

int>edge[maxn]

;int num,ans;

int dp[maxn]

;int n;

void

dfs(

int u,

int fa)

maxx=

max(maxx,n-dp[u]);

//判斷是這個子樹重,還是另乙個

// dp[i]=max(n-tot[i],max(tot[k])) 樹形dp

if(maxx//刪除平衡點後最大子樹的結點數

else

if(maxx==num)

}int

main()

for(

int i=

1;i)dfs(1

,0);

cout<" "<}}

有乙個Java小程式

class trangle else double getlength public double getarea else public void setabc double a,double b,double c else class lader double getarea class cir...

從乙個大學到了另乙個大學

掐指一算,從大隊培訓開始到現在整整乙個月了。進入工作崗位倆星期了。公司給我的感覺就是從乙個大學到了另乙個大學。今天和同事聊起來,都感覺對在深圳的兩個星期特別有感情。說起來也是一件很奇怪的事情,在壓力之下,一百來個互相不認識,隔了幾個代溝的人竟然能成為共患難的兄弟姐妹。今天買了床墊,發現沒有床墊中午午...

「江湖最後乙個大佬」

寫下這樣的乙個標題是因為在那個 部落格週刊 深度閱讀之江湖大佬 中,我被放到了最後 而且昨天晚上才剛剛看過周星星的這部 因此就拿來做了標題。上周五開會,其中乙個人提起了乙個詞語 老大 還說了一句老大是幹什麼的,老大就是來挨刀的。我當時聽了這話一驚 老大就是來挨刀的!老大就是來承擔責任的?我這等小民 ...