当前位置: 首页 > wzjs >正文

最好的开发网站建设价格上海租房网个人房源

最好的开发网站建设价格,上海租房网个人房源,电商平台运营公司,做培训的网站建设题目:题目链接 题目大意 题目描述 给定一棵树,它的每个点都有对应的权值。 定义颜色x的同色子图为图中所有颜色为x的边,及其顶点形成的同色子图。 一个同色连通块的权值为该连通块所包含的点的权值的和。 一个同色子图的权值定义为子图内…

题目:题目链接

题目大意

题目描述

给定一棵树,它的每个点都有对应的权值。

定义颜色x的同色子图为图中所有颜色为x的边,及其顶点形成的同色子图。

一个同色连通块的权值为该连通块所包含的点的权值的和。

一个同色子图的权值定义为子图内所有同色连通块的权值的最大值。

一种染色方案的权值定义为所有颜色的同色子图的权值和。

输入格式

在输入的第一行中,有一个整数t(1≤t≤1e5)表示测试用例的数量。然后是t组测试用例。

每个测试用例的第一行包含一个整数n(2≤n≤1e5)。第二行由n个整数 w1,w2,…,wn(0≤wi≤1e9)组成,wi等于第i个顶点的权重。在以下n−1行的每一行中,有两个整数u、v(1≤u,v≤n)描述顶点u和v之间的边。并且保证这些边形能够成树。

所有测试用例中n的总和将不超过2e5。

输出格式

对于每个测试用例,你的程序应该打印一行包含n−1个整数的行,用一个空格分隔。一行中的第i个数字应该是树的第i个着色的最大值。

测试样例

输入样例:

4
4
3 5 4 6
2 1
3 1
4 3
2
21 32
2 1
6
20 13 17 13 13 11
2 1
3 1
4 1
5 1
6 1
4
10 6 6 6
1 2
2 3
4 1

输出样例:

18 22 25
53
87 107 127 147 167
28 38 44

题目分析

        这个题目要求的是第i次染色后,树的权值的最大值,因为相同颜色的子图的总权值为权值最大那个子图的权值,而其余与它颜色相同的子图的权值便被忽略不计。根据贪心思想,我们应当尽可能多的使用颜色,即让每个颜色仅有一个子图

        关于图的权值的变化,我们发现,若是我们将一个段分成两个颜色不同的子段,那么这两个子段相交处的那个点的权值便会被算两次,即图的总权值会在原有的基础上加上那个交点的权值(就像题目Note中从第一步到第二步那样)。因此我们每次将可用的点中权值最大的那个点作为交点即可求出最大的权值。

        注意,图中的叶节点(仅连有一条边的点)不可作为交点,否则其将图分为一个子图和一个空图,总权值不变。而一个连了i条边的点最多可以作i-1次交点。

代码

#include<bits/stdc++.h>
using namespace std;struct Node {int w,num;//w为该点权值,num为该点所连边数,num-1为可作交点的次数bool operator<(const Node &x) const {return w > x.w;//重载小于号}
};
Node p[100005];
int t,n;int main() {int v,u;ios::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);cin>>t;while (t--) {long long ans=0;cin>>n;for (int i=1;i<=n;i++)cin>>p[i].w,p[i].num=0,ans+=p[i].w;for (int i=1;i<n;i++) {cin>>u>>v;p[v].num++;p[u].num++;}sort(p+1,p+n+1);//让权值大的排在前面cout<<ans<<' ';int cnt=1;while (cnt<=n) {if (p[cnt].num>1) {//确保该点不是叶节点且作交点次数没超限制p[cnt].num--;//将该点作交点的机会数减一ans+=p[cnt].w;cout<<ans<<' ';}else cnt++;}cout<<endl;}
}


文章转载自:

http://dg3mkKt9.nqrLz.cn
http://rJxCj2aF.nqrLz.cn
http://uBhNRHEl.nqrLz.cn
http://wogAcAFk.nqrLz.cn
http://tQEY1eak.nqrLz.cn
http://LZ3ixG0t.nqrLz.cn
http://v4WSASOS.nqrLz.cn
http://RGgPJOvm.nqrLz.cn
http://O1Qe8Nr3.nqrLz.cn
http://wUMMzqZh.nqrLz.cn
http://nNCsxqxE.nqrLz.cn
http://KkHCtG2h.nqrLz.cn
http://rDO7hcEF.nqrLz.cn
http://QBfQN1hh.nqrLz.cn
http://kQ00oeTs.nqrLz.cn
http://GF8Tgvmz.nqrLz.cn
http://ZblUCxkw.nqrLz.cn
http://hq8Pjazz.nqrLz.cn
http://RgL0ElhS.nqrLz.cn
http://c9egBfa9.nqrLz.cn
http://QO3zuYj5.nqrLz.cn
http://guf2wAew.nqrLz.cn
http://8cfsHCoQ.nqrLz.cn
http://z2GnoBq2.nqrLz.cn
http://BuTcAHuO.nqrLz.cn
http://ivg26h07.nqrLz.cn
http://FqgY8hls.nqrLz.cn
http://hZVNtgJA.nqrLz.cn
http://pGIPwxA5.nqrLz.cn
http://OB4j4u6A.nqrLz.cn
http://www.dtcms.com/wzjs/693913.html

相关文章:

  • 查网站空间商线上营销技巧和营销方法
  • 网站开发5人小组分工电商网站设计理念
  • 在哪个网站上做兼职比较好河北建设工程招标网
  • 刘涛给孩子网站做的广告jsp语言做网站
  • 磁贴式网站模板软文代发平台
  • 学校网站建设评估diy个性定制
  • 广州网站建设优化wordpress 邀请机制
  • 做电影网站不放国内主机怎样自己建一个网站
  • 优秀甜品网站好看的企业网站模板
  • wordpress 图片轮播上海网页优化软件
  • 一个微信网站多少钱jexus wordpress
  • 舟山建设网站公司苏州网站建设开发
  • 郑州做商城网站wordpress-seo
  • 做网站排行在网站中搜索关键字
  • 手机怎么做自己的网站中国航空集团建设开发有限公司网站
  • 济南制作网站的公司用fullpage做的网站
  • 做房产买卖哪些网站可以获客拓客软件
  • 企业网站管理系统模版源码wordpress如何添加前台登录
  • 网站建设是什么语言淘宝做链接有哪些网站可以做
  • 青岛本地招聘网站编程网站编程
  • 网站关键词怎样做优化手机网站插件代码
  • 在线制作wap网站植树节ppt模板下载免费版
  • 在网站建设中注意的要点在线相册jsp网站开发与设计
  • 益阳营销网站建设WordPress营销推广返佣插件
  • 有代做统计图的网站吗设计理念网站
  • 做网站需要学习多久少儿编程app
  • 微信网站模版下载中国品牌策划网
  • 兰州有做百度网站的吗长春市建设工程信息网官网
  • 个人备案 可以做企业网站吗济南网站设计哪家好
  • 福州阳楠科技网站建设有限公司wordpress 主题打包