zoukankan      html  css  js  c++  java
  • poj 3140 Contestants Division(树形dp? dfs计数+枚举)



    本文出自   http://blog.csdn.net/shuangde800


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

    题目链接 poj-3140


    题目

       给n个节点的带权树,删掉其中一边,就会变成两颗子树,
       求删去某条边使得这这两颗子树的权值之差的绝对值最小。


    思路

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

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


    代码

     



  • 相关阅读:
    MyBatis入门
    Java JDBC
    Spring MVC
    Java内存模型
    Java日志
    Java I/O模型
    Java异常处理
    Java泛型设计
    Java反射
    Java代理
  • 原文地址:https://www.cnblogs.com/riskyer/p/3293944.html
Copyright © 2011-2022 走看看