传送门

考虑一个节点一个节点加入树中,每次计算一下对答案的贡献

只有两个点时树的形态是唯一确定的

三个点时第三个点应该是从边上分叉出来的

那么增加的长度显然为 (dis_bc+dis_ac-dis_ab)/2

第四个点也应该是分叉出来的

但是是从哪分叉的我们还要讨论一下

可以发现,唯一合法的情况当且仅当增加的长度最小

因为如果增加的长度大于最小的增长长度,那么必定会有某些约束条件被破坏

这个自己画图一下就可以发现的

所以每次加点时必须找增加长度最小的方案

然后就可以暴力枚举了

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
inline int read()
{int x=0,f=1; char ch=getchar();while(ch<'0'||ch>'9') { if(ch=='-') f=-1; ch=getchar(); }while(ch>='0'&&ch<='9') { x=(x<<1)+(x<<3)+(ch^48); ch=getchar(); }return x*f;
}
const int N=57,INF=1e9+7;
int n,ans;
int mp[N][N];
int main()
{n=read();while(n){for(int i=1;i<=n;i++)for(int j=i+1;j<=n;j++) mp[i][j]=mp[j][i]=read();ans=0;for(int k=2;k<=n;k++){int mi=INF;for(int i=1;i<k;i++)for(int j=1;j<k;j++) mi=min(mi,(mp[i][k]+mp[j][k]-mp[i][j])>>1);//枚举最小的方案ans+=mi;//加入答案
        }printf("%d\n",ans);n=read();}return 0;
}

转载于:https://www.cnblogs.com/LLTYYC/p/9864595.html

P1268 树的重量相关推荐

  1. 洛谷—— P1268 树的重量

    P1268 树的重量 构造类题目,看不出个所以然来... emmm,只好看题解: 只有两个点,那一条路径就是$ans$ 考虑三个点,那么$3$这个点相对于树上的路径(已经加入树上的边的距离) 为:$( ...

  2. [洛谷P1268]树的重量

    原题传送门 方法一 这道题是贪心.主要的难点在于合并路径压缩长度的策略.这里采用的方法是让一个个结点并入已经构建好的树中,并记录该结点接入树的位置.接入树到该结点的长度.模拟注意细节即可. 1 #in ...

  3. LuoguP1268树的重量【构造/思维】By cellur925

    题目传送门 Description 给你一个矩阵$M$,$M(i,j)$表示$i$到$j$的最短距离.定义树的重量为树上各边权之和,对于任意给出的合法矩阵$M$,已知它所能表示树的重量是唯一确定的.给 ...

  4. 洛谷1268树的重量(树)

    题目描述 树可以用来表示物种之间的进化关系.一棵"进化树"是一个带边权的树,其叶节点表示一个物种,两个叶节点之间的距离表示两个物种的差异.现在,一个重要的问题是,根据物种之间的距离 ...

  5. noip2017考前整理(未完)

    快考试了,把我以前写过的题回顾一下. Noip2007 树网的核:floyd,推出性质,暴力. Noip2008 笨小猴:模拟 Noip2008 火柴棒等式:枚举 Noip2008 传纸条:棋盘dp ...

  6. 【做题记录】图论杂题

    P1268 树的重量 $\texttt{solution}$ 算法:(贪心)\(+\) 找规律 当 \(n=2\) 时,显然答案就是 \(dis(1,2)\) . 当 \(n=3\) 时,答案: \[ ...

  7. 2019.2-2019.3 TO-DO LIST

    DP P2723 丑数 Humble Numbers(完成时间:2019.3.1) P2725 邮票 Stamps(完成时间:2019.3.1) P1021 邮票面值设计(完成时间:2019.3.1) ...

  8. 51nod1307(暴力树剖/二分dfs/并查集)

    题目链接: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1307 题意: 中文题诶~ 思路: 解法1:暴力树剖 用一个数 ...

  9. 【替罪羊树及其应用】替罪羊树总结

    update:退役后对这篇文章进行了一些更新,主要增加了一个后缀平衡树的版块.很遗憾的,csp的350给我的OI生涯画上了句号.记得联赛前大概写了10遍平衡树模板,遗憾没有用上.不过代码经过联赛前反复 ...

  10. 数据结构(十六)——左高树(含合并过程详细图解)

    文章目录 前言 左高树 什么是左高树? 为什么要使用左高树? 最大左高树实现及复杂度分析 节点类和最大左高树类 合并方法 插入(push).删除(pop) 初始化 左高树合并图解 前言 看到左高树的时 ...

最新文章

  1. 人工智能十年回顾:CNN、AlphaGo、GAN……它们曾这样改变世界
  2. 计算机系统存数及取数方式,计算机系统结构总结2
  3. For循环中不可以嵌套RDD操作
  4. 京东商城pop开放平台产品经理
  5. VMware vSphere 5.1 vCenter安装
  6. 【转】kubernetes 中 deployment 支持哪些键值
  7. 浏览器中调用Linux程序,一个可以使用浏览器通过ssh连接linux的程序
  8. 消除“星期一综合症”--- 大前研一的周末时间分配术
  9. 网络摄像视频方案整理
  10. matlab基础学习——基础数学函数(持续更新)
  11. 【NLP技术】:NLP简单介绍
  12. bilibili 2021 技术对抗赛 算法与安全答题 答案
  13. HTML5+CSS大作业——个人博客-功能齐全(48页) html大学生网站开发实践作业
  14. 无法将为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型
  15. 如何将WIN10自带浏览器Microsoft Edge中的书签导出
  16. [hihoCoder] 区域周长 解题报告
  17. 简述一个html文档应包含几个基本标记,简述HTML文件的基本标记组成
  18. SUST Weekly Final Round One 参考题解
  19. html 悬浮菜单按钮,HTML右侧悬浮菜单
  20. 《关键对话》如何高效沟通,营造无往不利的事业和人生?

热门文章

  1. 易错点 默认参数陷阱
  2. [bzoj1031][JSOI2007]字符加密Cipher
  3. UVA - 10820欧拉函数的应用
  4. webstorm怎样查找历史记录
  5. 超级素数幂--全国模拟(一)
  6. POJ 3279 Fliptile
  7. [Sciter] 资源引用
  8. [转载]ASP.NET MVC URL重写与优化(进阶篇)-继承RouteBase玩转URL
  9. uva 10562 Undraw the Trees
  10. 快速排序 JAVA实现