NOIP2014 聯合權值

2021-07-23 21:23:12 字數 576 閱讀 5784

鄰接表儲存樹。

列舉每個節點,使之作為中點,先計算出與其相連的所有節點的權值總和l,與其相連的所有節點在該節點處形成的權值=(l-w)*w。

如果沒有l,直接列舉以此節點為中點的節點對則只能過60%的資料。

**:#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;

const int maxn=2e5+1;

const int mod=10007;

long long w[maxn]=;

int head[maxn]=;

struct datae[maxn*2];

int cnt=0;

void ins(int v,int u)

int main()

{ //ios::sync_with_stdio(false);

int n;scanf("%d",&n);

for(int i=1;i

NOIP 2014 聯合權值

評測傳送 70分 列舉中間點,然後再兩層迴圈列舉這個點的所有鄰接點,兩兩相乘,加入和中。可能退化為n 2 100分 在70分的基礎上加乙個優化,當我們列舉了中間點,然後再列舉它的鄰接點 j 時,用sum i 表示 i 的所有鄰接點的權值的和,那麼以 i 作為中間點,j這個點對答案的貢獻為 sum i...

(noip2014)聯合權值

題目傳送門sxazr 本題可直接列舉每個點,然後列舉與它相連的兩個點,這兩個點的乘積便是乙個聯合權值 可以記錄下每個點與它相連的點的最大值和次大值,結果就是取最大值和次大值乘積的最大 求和的話,可以記錄下乙個點相連所有點的和s i sum w j s i w j j是與i相連的點 列舉每個點的sum...

NOIP 2014 聯合權值

無向連通圖g 有n 個點,n 1 條邊。點從1 到n 依次編號,編號為 i 的點的權值為w i 每條邊的長度均為1 圖上兩點 u v 的距離定義為u 點到v 點的最短距離。對於圖g 上的點對 u,v 若它們的距離為2 則它們之間會產生wu wv 的聯合權值。請問圖g 上所有可產生聯合權值的有序點對中...