P1906联合权值】的更多相关文章

描述 无向连通图 G 有 n 个点,n-1 条边.点从 1 到 n 依次编号,编号为 i 的点的权值为 WiWi, 每条边的长度均为 1.图上两点(u, v)的距离定义为 u 点到 v 点的最短距离.对于图 G 上的点对(u, v),若它们的距离为 2,则它们之间会产生WuWu×WvWv的联合权值. 请问图 G 上所有可产生联合权值的有序点对中,联合权值最大的是多少?所有联合权值之和是多少? 格式 输入格式 第一行包含 1 个整数 n. 接下来 n-1 行,每行包含 2 个用空格隔开的正整数 u…
描述 无向连通图 G 有 n 个点,n-1 条边.点从 1 到 n 依次编号,编号为 i 的点的权值为 WiWi, 每条边的长度均为 1.图上两点(u, v)的距离定义为 u 点到 v 点的最短距离.对于图 G 上的点对(u, v),若它们的距离为 2,则它们之间会产生WuWu×WvWv的联合权值. 请问图 G 上所有可产生联合权值的有序点对中,联合权值最大的是多少?所有联合权值之和是多少? 格式 输入格式 第一行包含 1 个整数 n. 接下来 n-1 行,每行包含 2 个用空格隔开的正整数 u…
题目:洛谷P1351.Vijos P1906.codevs3728.UOJ#16. 题目大意:有一个无向连通图,有n个点n-1条边,每个点有一个权值$W_i$,每条边长度为1.规定两个距离为2的点i和j可以产生$W_i×W_j$的联合权值.求最大的联合权值是多少,联合权值之和是多少. 解题思路:首先,距离为2的点只有两种情况:①点u和它父亲的父亲:②点u和它的兄弟.那么我们只需遍历全图,记录该点父亲的父亲即可.对于每个节点,求出它所有儿子和儿子之间的联合权值是多少,加起来即可. 这样子可能会超时…
问题描述 无向连通图G有n个点,n-1条边.点从1到n依次编号,编号为i的点的权值为Wi ,每 条边的长度均为1.图上两点(u,v)的距离定义为u点到v点的最短距离.对于图G上的点 对(u,v),若它们的距离为2,则它们之间会产生Wu×Wv的联合权值. 请问图G上所有可 产生联合权值的有序点对中,联合权值最大的是多少?所有联合权值之和是多少? 输入描述 第一行包含1个整数n.接下来n-1行,每行包含2个用空格隔开的正整数u.v,表示编 号为u和编号为v的点之间有边相连. 最后1行,包含n个正整数…
题目描述 无向连通图G 有n 个点,n - 1 条边.点从1 到n 依次编号,编号为 i 的点的权值为W i ,每条边的长度均为1 .图上两点( u , v ) 的距离定义为u 点到v 点的最短距离.对于图G 上的点对( u, v) ,若它们的距离为2 ,则它们之间会产生Wu ×Wv 的联合权值. 请问图G 上所有可产生联合权值的有序点对中,联合权值最大的是多少?所有联合权值之和是多少? 输入输出格式 输入格式: 输入文件名为link .in. 第一行包含1 个整数n . 接下来n - 1 行,…
题目描述 无向连通图G 有n 个点,n - 1 条边.点从1 到n 依次编号,编号为 i 的点的权值为W i ,每条边的长度均为1 .图上两点( u , v ) 的距离定义为u 点到v 点的最短距离.对于图G 上的点对( u, v) ,若它们的距离为2 ,则它们之间会产生Wu ×Wv 的联合权值. 请问图G 上所有可产生联合权值的有序点对中,联合权值最大的是多少?所有联合权值之和是多少? 输入输出格式 输入格式: 输入文件名为link .in. 第一行包含1 个整数n . 接下来n - 1 行,…
我们枚举中间点,当连的点数不小于2时进行处理 最大值好搞 求和:设中间点 i 所连所有点权之和为sum 则对于每个中间点i的联合权值之和为: w[j]*(sum-w[j])之和 #include<cstdio> #include<cstring> using namespace std; ,N=,M=; int head[M],next[M],to[M],du[N],a[N],size; int w[N],n,sum,ss,m1,m2,ans1,ans2; void uni(int…
联合权值 描述 无向连通图 G 有 n 个点,n-1 条边.点从 1 到 n 依次编号,编号为 i 的点的权值为 WiWi, 每条边的长度均为 1.图上两点(u, v)的距离定义为 u 点到 v 点的最短距离.对于图 G 上的点对(u, v),若它们的距离为 2,则它们之间会产生WuWu×WvWv的联合权值. 请问图 G 上所有可产生联合权值的有序点对中,联合权值最大的是多少?所有联合权值之和是多少? 格式 输入格式 第一行包含 1 个整数 n. 接下来 n-1 行,每行包含 2 个用空格隔开的…
2.联合权值 (link.cpp/c/pas) [问题描述] 无向连通图G有n个点,n-1条边.点从1到n依次编号,编号为i的点的权值为Wi  ,每条边的长度均为1.图上两点(u, v)的距离定义为u点到v点的最短距离.对于图G上的点对(u, v),若它们的距离为2,则它们之间会产生Wu×Wv的联合权值. 请问图G上所有可产生联合权值的有序点对中,联合权值最大的是多少?所有联合权值之和是多少? [输入] 输入文件名为link.in. 第一行包含1个整数n. 接下来n-1行,每行包含2个用空格隔开…
还是先看题吧: 试题描述  无向连通图 G 有 n 个点,n-1 条边.点从 1 到 n 依次编号,编号为 i 的点的权值为 Wi ,每条边的长度均为 1.图上两点(u, v)的距离定义为 u 点到 v 点的最短距离.对于图 G 上的点对(u, v),若它们的距离为 2,则它们之间会产生Wu * Wv 的联合权值.请问图 G 上所有可产生联合权值的有序点对中,联合权值最大的是多少?所有联合权值之和是多少? 输入 第一行包含 1 个整数 n.接下来 n-1 行,每行包含 2 个用空格隔开的正整数 …
https://www.luogu.org/problem/show?pid=1351 既然是一棵树,就先转化成有根树.有根树上距离为2的点对,路径可能长下面这样: 枚举路径上的中间点X. 第一种情况 对于点X(X的儿子数≥2),它的每一个儿子i与其他的儿子对权值和的贡献为Wi*(sum-Wi),则这个点所有儿子之间对权值和的贡献为:∑Wi*(sum-Wi),其中sum为点X所有儿子的权值之和.(貌似还有更高效的算法?) 对于点X (X的儿子数≥2),它的所有儿子之间可以产生的联合权值的最大值,…
Description 无向连通图G 有n 个点,n - 1 条边.点从1 到n 依次编号,编号为 i 的点的权值为W i ,每条边的长度均为1 .图上两点( u , v ) 的距离定义为u 点到v 点的最短距离.对于图G 上的点对( u, v) ,若它们的距离为2 ,则它们之间会产生Wu×Wv 的联合权值. 请问图G 上所有可产生联合权值的有序点对中,联合权值最大的是多少?所有联合权值之和是多少? Input 输入文件名为link .in. 第一行包含1 个整数n . 接下来n - 1 行,每…
传送门 https://www.cnblogs.com/violet-acmer/p/9937201.html 题解: 相关变量解释: int n; int fa[maxn];//fa[i] : i的父亲节点 int w[maxn];//w[i] : i的权值 long long sum[maxn];//sum[i] : i节点的所有儿子节点的权值和 int maxSon1[maxn];//maxSon1[i] : i节点的所有儿子中权值最大值(如果有超过两个儿子) int maxSon2[ma…
Luogu 1351 NOIP 2014 联合权值(贪心,计数原理) Description 无向连通图 G 有 n 个点,n-1 条边.点从 1 到 n 依次编号,编号为 i 的点的权值为 Wi, 每条边的长度均为 1.图上两点(u, v)的距离定义为 u 点到 v 点的最短距离.对于图 G 上的点对(u, v),若它们的距离为 2,则它们之间会产生Wu×Wv的联合权值. 请问图 G 上所有可产生联合权值的有序点对中,联合权值最大的是多少?所有联合权值之和是多少? Input 第一行包含 1…
题目地址 https://www.luogu.org/problemnew/show/P1351 题目描述 无向连通图G 有n 个点,n - 1 条边.点从1 到n 依次编号,编号为 i 的点的权值为W i ,每条边的长度均为1 .图上两点( u , v ) 的距离定义为u 点到v 点的最短距离.对于图G 上的点对( u, v) ,若它们的距离为2 ,则它们之间会产生Wu×Wv 的联合权值. 请问图G 上所有可产生联合权值的有序点对中,联合权值最大的是多少?所有联合权值之和是多少? 输入输出格式…
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - Vijos1906 题意概括 有一棵树,每一个节点都有一个权值w[i].下面说的x,y都是该树中的节点. 对于点对(x,y),x,y,保证x和y距离为2,那么他们就可以联合,会产生w[x]*w[y]的联合权值. 注意:点对(x,y)和(y,x)是不同的. 现在要回答两个问题: 1. 所有可以联合的点对的最大联合权值. 2. 对于所有不同的点对(x,y),求联合权值和,答案对10007取模. 题解 在一棵树上…
联合权值 洛谷中可找到 题目传送门https://www.luogu.org/problemnew/show/P1351 这题我就得了70分(TLE)  GG了 就是遍历它孩子的孩子(爷爷和孙子),然后相乘: ps:这样会有很多重复,TLE #include<cstdio> #include<iostream> #define maxn 200000+10 using namespace std; int max(int x,int y) { return x>y?x:y;…
题目描述 Description 无向连通图G 有n 个点,n - 1 条边.点从1 到n 依次编号,编号为 i 的点的权值为W i   ,每条边的长度均为1 .图上两点( u ,  v ) 的距离定义为u 点到v 点的最短距离.对于图G 上的点对( u, v) ,若它们的距离为2 ,则它们之间会产生Wu ×Wv 的联合权值. 请问图G 上所有可产生联合权值的有序点对中,联合权值最大的是多少?所有联合权值之和是多少? 输入输出格式 Input/output 输入格式: 输入文件名为link .i…
P1351 联合权值 想刷道水题还交了3次.....丢人 (1.没想到有两个点都是儿子的状况 2.到处乱%(大雾)) 先dfs一遍处理出父亲$fa[x]$ 蓝后再一遍dfs,搞搞就出来了. #include<iostream> #include<cstdio> #include<cstring> #define re register using namespace std; ; int max(int &a,int &b){return a>b?…
[Luogu 1351] NOIP2014 联合权值 存图,对于每一个点 \(u\),遍历它的所有邻接点.以 \(u\) 为中转点的点对中,\((x,y)\) 的联合权值 \(w_x \cdot w_y\) 最大,当且仅当 \(x\) 与 \(y\) 的点权在 \(u\) 的所有邻接点中是前两大的. 成功尝试内嵌 HTML 控制背景色,开心. 每遍历一个点 \(v\),它对联合权值之和 \(\mathrm{sum}\) 的贡献,等于其点权 \(w_v\) 乘目前已遍历点的点权和 \(\mathr…
传送门 Description 无向连通图 \(G\) 有 \(n\) 个点, \(n-1\) 条边.点从 \(1\) 到 \(n\) 依次编号,编号为 \(i\) 的点的权值为 \(W_i\) ,每条边的长度均为 \(1\) .图上两点 \((u, v)\) 的距离定义为 \(u\) 点到 \(v\) 点的最短距离.对于图 \(G\) 上的点对 \((u, v)\) ,若它们的距离为 \(2\) ,则它们之间会产生 \(W_v \times W_u\) 的联合权值. Input 第一行包含 \…
题目链接 题意:给定一个无根树,每个点有一个权值.若两个点 \(i,j\) 之间距离为\(2\),则有联合权值 \(w_i \times w_j\).求所有的联合权值的和与最大值 分析: 暴力求,每个节点遍历一遍周围的点,对每个点再遍历一次 可以拿到70分 考虑正解.对于一个点\(u\),周围一圈可以到达的点中,从中任选两个不同的点\(i,j\),则这两个点构成联合权值. 所以我们对一个点维护三个值:周围一圈点\(w_i\)之和\(sumw_u\),\(w_i\)的最大值\(first_u\),…
联合权值 题目链接 首先,直接两重循环暴力枚举得了70分 然后发现第二重循环可以记忆化一下 记忆一下每个点的子节点的权值和.最大值. 次大值(为了处理该点的父节点权值恰好为最大值) 具体看代码 #include<iostream> #include<cstring> #include<cstdio> using namespace std; #define N 400010 #define int long long int n,w[N],Head[N],tot; in…
描述 无向连通图 G 有 n 个点,n-1 条边.点从 1 到 n 依次编号,编号为 i 的点的权值为 WiWi, 每条边的长度均为 1.图上两点(u, v)的距离定义为 u 点到 v 点的最短距离.对于图 G 上的点对(u, v),若它们的距离为 2,则它们之间会产生WuWu×WvWv的联合权值. 请问图 G 上所有可产生联合权值的有序点对中,联合权值最大的是多少?所有联合权值之和是多少? 格式 输入格式 第一行包含 1 个整数 n. 接下来 n-1 行,每行包含 2 个用空格隔开的正整数 u…
原题传送门 这道题瞄了一眼还以为是SPFA最短路. 后面发现距离为2.. 好像可以枚举中间点来着? 时间效率O(n*(2n-2))≍O(n^2) BOOM!(PS:9018上过了,说明数据太水了..) 然后我们看看能不能预处理.. 第一大和第二大可以预处理233~ 然后sum(中间点的临近点的权值总和)可以预处理... 然后就过了?O(n) 哦,对了忘记讲算法: 最大的联合权值就是中间点的临近点的第一大*第二大.. 所有的联合权值.. 我们假设有三个点a,b,c 那么联合权值=ab+ac+ba+…
联合权值 题目描述 无向连通图 GG 有 nn 个点,n-1n−1 条边.点从 11 到 nn 依次编号,编号为 ii 的点的权值为 W_iWi​,每条边的长度均为 11.图上两点 (u, v)(u,v) 的距离定义为 uu 点到 vv 点的最短距离.对于图 GG 上的点对 (u, v)(u,v),若它们的距离为 22,则它们之间会产生W_v \times W_uWv​×Wu​ 的联合权值. 请问图 GG 上所有可产生联合权值的有序点对中,联合权值最大的是多少?所有联合权值之和是多少? 输入输出…
题目描述 无向连通图G 有n 个点,n - 1 条边.点从1 到n 依次编号,编号为 i 的点的权值为W i ,每条边的长度均为1 .图上两点( u , v ) 的距离定义为u 点到v 点的最短距离.对于图G 上的点对( u, v) ,若它们的距离为2 ,则它们之间会产生Wu ×Wv 的联合权值. 请问图G 上所有可产生联合权值的有序点对中,联合权值最大的是多少?所有联合权值之和是多少? 输入输出格式 输入格式: 输入文件名为link .in. 第一行包含1 个整数n . 接下来n - 1 行,…
无向连通图 G 有 n 个点,n-1 条边.点从 1 到 n 依次编号,编号为 i 的点的权值为 Wi,每条边的长度均为 1.图上两点(u, v)的距离定义为 u 点到 v 点的最短距离.对于图 G 上的点对(u, v),若它们的距离为 2,则它们之间会产生Wu*Wv的联合权值.请问图 G 上所有可产生联合权值的有序点对中,联合权值最大的是多少?所有联合权值之和是多少? 题解:树形dp: #include<iostream> #include<cstring> #include&l…
3728 联合权值 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold   题目描述 Description 输入描述 Input Description 输出描述 Output Description 样例输入 Sample Input 样例输出 Sample Output 数据范围及提示 Data Size & Hint 题解 这(在洛谷上)都是些什么标签?LCA?dp?(MAX问号脸 随意钦定一个点当根节点,转化成有根树处理. 对于dfs到的每个点,$sum$…
Description 无向连通图 G 有 n 个点,n−1 条边.点从 1 到 n 依次编号,编号为 i 的点的权值为 Wi,每条边的长度均为 1.图上两点 (u,v) 的距离定义为 u 点到 v 点的最短距离.对于图 G 上的点对 (u,v),若它们的距离为 2,则它们之间会产生Wv×Wu 的联合权值. 请问图 G 上所有可产生联合权值的有序点对中,联合权值最大的是多少?所有联合权值之和是多少? Input Format 第一行包含 1 个整数 n. 接下来 n−1 行,每行包含 2 个用空…