博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
B - Long Live the Queen SGU - 143
阅读量:4113 次
发布时间:2019-05-25

本文共 726 字,大约阅读时间需要 2 分钟。

题意:给你n个节点,每个节点都有一个权值,还给你一些边,现在让你找一个非空子集,是的这个非空子集的和最大。

思路:使用树形dp,每个节点都有选和不选,在决定选还是不选的时候,把当前所有子树权值之和和0进行比较,如果是大于0,就选,如果是小于0就不选,这个题有一个坑点,题目要求是非空子集,有这样一种情况,所有的权值都是小于0的,这是也是必须要选一个的。

比赛的时候题意理解可能有点问题,把题意理解成不能n个节点全选了,郝老师说,前面那句话可能就是随口一提,只需要关注非空子集这一个条件即可。

#include 
using namespace std;const int maxn=16010;vector
v[maxn];int dp[maxn];const int ind=0x3f3f3f;int a[maxn];int n;int dfs(int x,int fa){ dp[x]=a[x]; for(int i=0; i
>n; int ans=-10000; for(int i=1; i<=n; i++) { cin>>a[i]; } for(int i=0; i
>x>>y; v[x].push_back(y); v[y].push_back(x); } dfs(1,-1); for(int i=1; i<=n; i++) { ans=max(ans,dp[i]); } cout<
<

转载地址:http://qfgsi.baihongyu.com/

你可能感兴趣的文章
pytorch(四)
查看>>
pytorch(5)
查看>>
pytorch(6)
查看>>
ubuntu相关
查看>>
C++ 调用json
查看>>
nano中设置脚本开机自启动
查看>>
动态库调动态库
查看>>
Kubernetes集群搭建之CNI-Flanneld部署篇
查看>>
k8s web终端连接工具
查看>>
手绘VS码绘(一):静态图绘制(码绘使用P5.js)
查看>>
手绘VS码绘(二):动态图绘制(码绘使用Processing)
查看>>
基于P5.js的“绘画系统”
查看>>
《达芬奇的人生密码》观后感
查看>>
论文翻译:《一个包容性设计的具体例子:聋人导向可访问性》
查看>>
基于“分形”编写的交互应用
查看>>
《融入动画技术的交互应用》主题博文推荐
查看>>
链睿和家乐福合作推出下一代零售业隐私保护技术
查看>>
Unifrax宣布新建SiFAB™生产线
查看>>
艾默生纪念谷轮™在空调和制冷领域的百年创新成就
查看>>
NEXO代币持有者获得20,428,359.89美元股息
查看>>