博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 3140 Contestants Division(树形dp? dfs计数+枚举)
阅读量:5037 次
发布时间:2019-06-12

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

 

本文出自   

--------------------------------------------------------------------------------------

 

题目链接

 

题目

   给n个节点的带权树,删掉其中一边,就会变成两颗子树,

   求删去某条边使得这这两颗子树的权值之差的绝对值最小。

思路

   直接dfs一次,计算所有子树的权值总和tot[i]

   如果删掉一条边(v, fa),fa是v的父亲节点,
   那么v子树权值总和为tot[v],显然另一棵子树的权值总和就是sum-tot[v],
   最总取最小绝对值即可。
   这题要注意用long long

   其实就是dfs+枚举,想不通为什么有人会把这题列为树形dp?

代码

 

 

 

 

 

转载于:https://www.cnblogs.com/suncoolcat/p/3295147.html

你可能感兴趣的文章
delphi.指针.PChar
查看>>
Objective - C基础: 第四天 - 10.SEL类型的基本认识
查看>>
java 字符串转json,json转对象等等...
查看>>
极客前端部分题目收集【索引】
查看>>
第四天 selenium的安装及使用
查看>>
关于js的设计模式(简单工厂模式,构造函数模式,原型模式,混合模式,动态模式)...
查看>>
KMPnext数组循环节理解 HDU1358
查看>>
android调试debug快捷键
查看>>
【读书笔记】《HTTP权威指南》:Web Hosting
查看>>
Inoodb 存储引擎
查看>>
数据结构之查找算法总结笔记
查看>>
Linux内核OOM机制的详细分析
查看>>
Android TextView加上阴影效果
查看>>
Requests库的基本使用
查看>>
C#:System.Array简单使用
查看>>
C#inSSIDer强大的wifi无线热点信号扫描器源码
查看>>
「Foundation」集合
查看>>
算法时间复杂度
查看>>
二叉树的遍历 - 数据结构和算法46
查看>>
类模板 - C++快速入门45
查看>>