牛客小白月賽6 桃花

2021-08-25 05:48:03 字數 1332 閱讀 3937

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 262144k,其他語言524288k

64bit io format: %lld

桃花一簇開無主,可愛深紅映淺紅。

——《題百葉桃花》

桃花長在桃樹上,樹的每個節點有乙個桃花,調皮的htbest想摘盡可能多的桃花。htbest有乙個魔法棒,摘到樹上任意一條鏈上的所有桃花,由於htbest法力有限,只能使用一次魔法棒,請求出htbest最多可以摘到多少個桃花。

第一行有乙個正整數n,表示桃樹的節點個數。

接下來n-1行,第i行兩個正整數ai,bi ,表示桃樹上的節點ai,bi之間有一條邊。

第一行乙個整數,表示htbest使用一次魔法棒最多可以摘到多少桃花。

示例1複製

3

1 22 3

複製

3
示例2

複製

3

1 21 3

複製

3
示例3

複製

4

1 22 3

3 4

複製

4
對於100%的測試資料:

1 ≤ n ≤ 1000000

資料量較大,注意使用更快的輸入輸出方式。

#pragma gcc optimize ("o3")

#include#include#include#include#define maxn 1000005

using namespace std;

vectorv[maxn];

bool vis[maxn];

int n,d1[maxn],d2[maxn],fa[maxn];

void read(int &x)

}void init(int _n)

void add(int a,int b)

void father(int x,int f)

}

void solve(int x)

int temp;

for(int i=0;i}

for(int i=0;i}

}

int main()

memset(vis,0,n);

father(1,-1);

memset(vis,0,n);

solve(1);

int ans=0;

for(int i=1;i<=n;++i) ans=max(ans,d1[i]+d2[i]);

printf("%d\n", ans + 1);

}

牛客小白月賽6 c 桃花

時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 桃花一簇開無主,可愛深紅映淺紅。題百葉桃花 桃花長在桃樹上,樹的每個節點有乙個桃花,調皮的htbest想摘盡可能多的桃花。htbest有乙個魔法棒,摘到樹上任意一條...

牛客小白月賽6 C 桃花

題目鏈結 桃花一簇開無主,可愛深紅映淺紅。題百葉桃花 桃花長在桃樹上,樹的每個節點有乙個桃花,調皮的htbest想摘盡可能多的桃花。htbest有乙個魔法棒,摘到樹上任意一條鏈上的所有桃花,由於htbest法力有限,只能使用一次魔法棒,請求出htbest最多可以摘到多少個桃花。第一行有乙個正整數n,...

牛客小白月賽6 C桃花 樹直徑

樹的直徑是指樹的最長簡單路。求法 兩遍bfs 先任選乙個起點bfs找到最長路的終點,再從終點進行bfs,則第二次bfs找到的最長路即為樹的直徑 桃花一簇開無主,可愛深紅映淺紅。題百葉桃花 桃花長在桃樹上,樹的每個節點有乙個桃花,調皮的htbest想摘盡可能多的桃花。htbest有乙個魔法棒,摘到樹上...