並不想講。
樹的直徑有乙個性質。
現在有兩棵樹,如果把它們隨意連一條邊,會變成一棵樹,新樹的直徑的端點一定是之前兩棵樹的直徑的共4個端點的兩個。
code:
#include
#include
#define fo(i, x, y) for(int i = x; i <= y; i ++)
#define fd(i, x, y) for(int i = x; i >= y; i --)
#define max(a, b) ((a) > (b) ? (a) : (b))
using
namespace
std;
const
int n = 500000;
int n, a[n], tot;
int son[n][2], dep[n];
int f[17][n], ans;
int lca(int x, int y)
int dis(int x, int y)
int main()
}
GDKOI2014 石油儲備計畫
description input output 對於每組資料,輸出乙個整數,表示達到 平衡 狀態所需的最小代價。sample input 2 36 1 5 1 2 1 2 3 2 54 5 4 3 2 1 3 1 1 2 2 2 4 3 2 5 4 sample output 4 4樣例解釋 對於...
GDKOI2014 石油儲備計畫
description input output 對於每組資料,輸出乙個整數,表示達到 平衡 狀態所需的最小代價。sample input 2 36 1 5 1 2 1 2 3 2 54 5 4 3 2 1 3 1 1 2 2 2 4 3 2 5 4 sample output 4 4樣例解釋 對於...
GDKOI2014 石油儲備計畫
description input output 對於每組資料,輸出乙個整數,表示達到 平衡 狀態所需的最小代價。sample input 2 36 1 5 1 2 1 2 3 2 54 5 4 3 2 1 3 1 1 2 2 2 4 3 2 5 4 sample output 4 4樣例解釋 對於...