C++求树子节点权重最大的和
#include <iostream>
#include <vector>using namespace std;
int n;
const int MaxN = 1e5;
long long w[MaxN + 1];
long long ans;
vector<int> g[MaxN + 1];void dfs(int root, int fa) {
for (int i = 0; i <
g[root].size(); ++i) {
int son = g[root][i];
if (son != fa) {
dfs(son, root);
if (w[son] > 0)
w[root] += w[son];
}
}
if (w[root] > ans)
ans = w[root];
}void _cin() {
std::ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin >> n;
for (int i = 1; i <= n; ++i)
{
cin >> w[i];
}
for (int j = 0; j < n - 1; ++j) {
int v, u;
cin >> u >> v;
g[u].push_back(v);
g[v].push_back(u);
}
}int main() {
_cin();
dfs(1, 0);
cout << ans << endl;
return 0;
}
最新文章
- sed教程
- JDBC操作Oracle数据库
- iOS H5 容器的一些探究(一):UIWebView 和 WKWebView 的比较和选择
- oracle 删除表、数据
- [JS前端开发] js/jquery控制页面动态加载数据 滑动滚动条自动加载事件
- PHP新闻系统开发流程
- hdu 5045 Contest(状态压缩DP)
- MySQL学习分享--数值类型
- 简单用数组模拟顺序栈(c++版)适合新手
- Mybatis-no getter for property named &#39;col_name&#39; in &#39;class com.xxx.onebean&#39;
- Java进阶(四十)Java类、变量、方法修饰符讲解
- celery使用
- MT【243】球内接四面体体积
- ELM:ELM实现鸢尾花种类测试集预测识别正确率(better)结果对比—Jason niu
- Thymeleaf教程入门到深入1:基础介绍
- jade(pug)学习和使用
- [Java]JavaScript在这里学习
- Mybatis知识(3)
- ActiveMQ监听消息并进行转发,监听不同的mq服务器和不同的队列
- (转)List<;T>;的各种排序方法
热门文章
- 【优雅写代码系统】springboot+mybatis+pagehelper+mybatisplus+druid教你如何优雅写代码
- centos7上安装redis以及PHP安装redis扩展(二)
- 04 . Docker安全与Docker底层实现
- IP地址和端口
- 【Azure SQL】数据库性能分析
- 使用Docker构建企业Jenkins CI平台
- uni-app之实现分页
- springcloud2.0 添加配置中心遇到的坑
- [ C++ ] 勿在浮沙筑高台 —— 内存管理(18~31p) std::alloc
- 阿里巴巴--mysql中Mysql模糊查询like效率,以及更高效的写法