無向連通圖 gg 有
n n
個點,n−
1' role="presentation" style="position: relative;">n−1
n−1條邊。點從
1 1
到 n' role="presentation" style="position: relative;">n
n依次編號,編號為
i i
的點的權值為 wi
' role="presentation" style="position: relative;">wiw
i,每條邊的長度均為
1 1
。圖上兩點 (u
,v)' role="presentation" style="position: relative;">(u,
v)(u
,v)的距離定義為 uu 點到 vv 點的最短距離。對於圖
g g
上的點對 (u
,v)' role="presentation" style="position: relative;">(u,
v)(u
,v),若它們的距離為
2 2
,則它們之間會產生wu
' role="presentation" style="position: relative;">wuw
u*wv
w
v 的聯合權值。請問圖
g g
上所有可產生聯合權值的有序點對中,聯合權值最大的是多少?所有聯合權值之和是多少?
輸入輸出格式
輸入格式:
第一行包含
1' role="presentation" style="position: relative;">1
1個整數
n n
。 接下來 n−
1' role="presentation" style="position: relative;">n−1
n−1行,每行包含
2 2
個用空格隔開的正整數u,
v' role="presentation" style="position: relative;">u,v
u,v,表示編號為
u u
和編號為
v' role="presentation" style="position: relative;">v
v的點之間有邊相連。最後 1 行,包含 n 個正整數,每兩個正整數之間用乙個空格隔開,其中第 i個整數表示圖
g g
上編號為 i 的點的權值為wi
' role="presentation" style="position: relative;">wiw
i輸出格式:
輸出共 1行,包含2 個整數,之間用乙個空格隔開,依次為圖 g 上聯合權值的最大值和所有聯合權值之和。由於所有聯合權值之和可能很大,輸出它時要對10007取餘。
輸入輸出樣例
輸入樣例#1:
5 1 2
2 3
3 4
4 5
1 5 2 3 10
輸出樣例#1:
20 74
我們來看,因為邊權是1,所以我們可列舉點從而進行計算,但這樣只有70分,這樣我們就要來想一想如何優化,我們分析可發現我們將大部分時間都浪費在找點,所以我們可維護乙個陣列,表示有多少個點與之相連,這樣在列舉點時可以減少一重迴圈,這樣就可以a了
上**
#include
using namespace std;
struct edge
}edge[1000000];
int head[300000]=,cnt=0;
void add(int a,int b)
long long w[300000]=;
int main()
for(int i=1;i<=n;i++)scanf("%lld",&w[i]);
long long sum=0,maxn=0,he,rmax,node;
for(int i=1;i<=n;i++)
}printf("%lld
%lld",maxn,(sum*2)%10007);
return
0;}
聯合權值(codevs 3728)題解
問題描述 無向連通圖 g 有 n 個點,n 1 條邊。點從 1 到 n 依次編號,編號為 i 的點的權值為wi 每條邊的長度均為 1。圖上兩點 u,v 的距離定義為 u 點到 v 點的最短距離。對於圖 g 上的點對 u,v 若它們的距離為 2,則它們之間會產生wu wv 的聯合權值。請問圖 g 上所...
NOIP2014 聯合權值 題解
題目大意 有一棵樹,求距離為2的點權的乘積的和以及最大值。思路 列舉每乙個點,則與其相鄰的點互為距離為2的點。該部分的最大值為點權最大的兩個點的積,和為點的權值和的平方減去每個點的平方,這樣每條邊都被跑了兩次,所以複雜度為o n 用鄰接表儲存要開雙倍陣列 無向 當然像cyk大神一樣直接跑邊就不用考慮...
3728 聯合權值
無向連通圖g 有n 個點,n 1 條邊。點從1 到n 依次編號,編號為 i 的點的權值為w i 每條邊的長度均為1 圖上兩點 u v 的距離定義為u 點到v 點的最短距離。對於圖g 上的點對 u,v 若它們的距離為2 則它們之間會產生wu wv 的聯合權值。請問圖g 上所有可產生聯合權值的有序點對中...