首页 > TAG信息列表 > P1351
P1351 [NOIP2014 提高组] 联合权值
Aimee 这是个dp?不过没有必要用dp 毕竟显然距离为2中间一定要经过一个点,那枚举中间点即可 之后显然假设一个点所有相邻的点的点权为集合\(A= \{ a_1,a_2,a_3······a_k\}\) 显然对于这个点,和就是\(\sum_{1}^{i=k} \sum_{1}^{j=k} a_i*a_j |i!=j\) 那么这样上面的那个式子显然洛谷 P1351 联合权值
题目传送门 发现这其实是一颗树,所以距离为2的点对就是父亲到儿子的儿子或同一个点的儿子们. #include<iostream> #include<cstdio> #include<cstring> #include<string> #include<vector> #define m 10007 using namespace std; long long n,head[200001],tot,ans,a[200001],aP1351 联合权值 题解
CSDN同步 原题链接 简要题意: 给定一棵树,每两个距离为 \(2\) 的点 \(u,v\) 会产生 \(w_u \times w_v\) 的“联合权值”。求 “联合权值” 的和,以及所有联合权值中的最大值。 其实这题作为 \(\text{NOIP 2014tg Day1T2}\),并不难。 首先考虑:距离为 \(2\) 的点只有两种情况: 爷爷和孙P1351 联合权值
因为距离为2,所以枚举中间点即可。 #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #define maxn 200010 using namespace std; struct node { int ed,nxt; }; node edge[maxn<<1]; int n,m,first[maxn],cnt; long long wP1351 联合权值
题目描述 无向连通图 GG 有 nn 个点,n-1n−1 条边。点从 11 到 nn 依次编号,编号为 ii 的点的权值为 W_iWi,每条边的长度均为 11。图上两点 (u, v)(u,v) 的距离定义为 uu 点到 vv 点的最短距离。对于图 GG 上的点对 (u, v)(u,v),若它们的距离为 22,则它们之P1351 联合权值
题目啦啦啦 n个点,n-1n−1条边,我们很容易就能想到这是一棵树,看数据范围,如果暴力枚举的话,只能拿部分分,这时候我们就回到题目中看,发现,只有距离为22才会产生价值的话,如果枚举一个节点,只有 它和它的孙子之间 或者 它的两个儿子之间 才会产生价值,所以我们就可以枚举这个节点,进行DFSDFS,期P1351 联合权值
题目描述 无向连通图 G 有 n 个点,n−1 条边。点从 1 到 n 依次编号,编号为 i 的点的权值为 Wi,每条边的长度均为 1。图上两点 (u,v) 的距离定义为 u 点到 v 点的最短距离。对于图 G 上的点对 (u,v),若它们的距离为 2,则它们之间会产生Wv×Wu的联合权值。 请问图 G 上所有可产生联合