https://www.luogu.org/problem/show?pid=1364

题目描述

设有一棵二叉树,如图:

其中,圈中的数字表示结点中居民的人口。圈边上数字表示结点编号,现在要求在某个结点上建立一个医院,使所有居民所走的路程之和为最小,同时约定,相邻接点之间的距离为l。如上图中,

若医院建在1 处,则距离和=4+12+2*20+2*40=136;若医院建在3 处,则距离和=4*2+13+20+40=81……

输入输出格式

输入格式:

第一行一个整数n,表示树的结点数。(n≤100)

接下来的n行每行描述了一个结点的状况,包含三个整数,整数之间用空格(一个或多个)分隔,其中:第一个数为居民人口数;第二个数为左链接,为0表示无链接;第三个数为右链接。

输出格式:

一个整数,表示最小距离和。

输入输出样例

输入样例#1:

5
13 2 3
4 0 0
12 4 5
20 0 0
40 0 0

输出样例#1:

81
#include <algorithm>
#include <iostream>
#include <cstdio>
#define maxn 100000007
#define haha 115
using namespace std;int n,l,r;
int a[haha][haha],s[haha]; int main()
{cin>>n;for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)a[i][j]=maxn;for(int i=1;i<=n;i++){a[i][i]=0;cin>>s[i]>>l>>r;if(l>0)a[i][l]=a[l][i]=1;if(r>0)a[i][r]=a[r][i]=1;}for(int k=1;k<=n;k++)for(int i=1;i<=n;i++)if(k!=i)for(int j=1;j<=n;j++)if(j!=i&&j!=k)a[i][j]=min(a[i][j],a[i][k]+a[k][j]);int minn=maxn,tot;for(int i=1;i<=n;i++){tot=0;for(int j=1;j<=n;j++)tot+=a[i][j]*s[j];minn=min(minn,tot);}cout<<minn;return 0;
}

转载于:https://www.cnblogs.com/Shy-key/p/6445009.html

P1364 医院设置 洛谷相关推荐

  1. 二叉树——医院设置(洛谷 P1364)

    题目选自洛谷P1364 从指定结点开始,使用DFS,对于某个结点来说,搜索的深度就是源点到这个结点的距离,单点贡献(该点所有居民到医院的距离之和)就是源点到这个结点的距离乘上该点的居民数量:然后加上自 ...

  2. 二分答案——路标设置(洛谷 P3853)

    题目选自洛谷P3853 这题不算很难,类似于跳石子,典型的二分答案: 先简单说一下思路: 我们把公路上相邻路标的最大距离定义为该公路的"空旷指数" 求增设路标后能达到的最小&quo ...

  3. 洛谷P1364 医院设置

    LITTLESUN的第一道图论,撒花~~ 题目链接 这道题是Floyd的板子题 注意对于矩阵图的初始值赋值要全部赋值成最大值 十六进制的最大值表示方式是0x3f3f3f3f memset(G,0x3f ...

  4. 洛谷P3853 [TJOI2007]路标设置

    P3853 [TJOI2007]路标设置 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 这道题与 洛谷P2678 [NOIP2015 提高组] 跳石头 和 洛谷P1182 数列分段 ...

  5. 树讲解(5)——医院设置

    洛谷--P1364 医院设置 题目描述 设有一棵二叉树,如图: 其中,圈中的数字表示结点中居民的人口.圈边上数字表示结点编号,现在要求在某个结点上建立一个医院,使所有居民所走的路程之和为最小,同时约定 ...

  6. 洛谷 P3384 【模板】树链剖分-树链剖分(点权)(路径节点更新、路径求和、子树节点更新、子树求和)模板-备注结合一下以前写的题目,懒得写很详细的注释...

    P3384 [模板]树链剖分 题目描述 如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作: 操作1: 格式: 1 x y z 表示将树从x到y结点最短路径上所有节 ...

  7. 洛谷——P1056 排座椅

    题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上课时会交头接耳. 同 ...

  8. 洛谷P1246C语言,codevs1246 丑数

    题目描述 Description 对于一给定的素数集合 S = {p1, p2, ..., pK}, 来考虑那些质因数全部属于S 的数的集合.这个集合包括,p1, p1p2, p1p1, 和 p1p2 ...

  9. 模拟退火总结+洛谷模板题(P1337 [JSOI2004]平衡点 / 吊打XXX)

    原来就听说过模拟退火,然后一直觉得神奇,但是没有真正的去实现这个算法. 模拟退火对TSP之类的问题很实用. 1.概念:模拟退火算法(Simulate Anneal,SA)是一种通用概率演算法,用来在一 ...

  10. 闲来无事刷水题、简单博弈论专题、sg函数、洛谷

    记 今天闲来无事,不想刷codeforces了,到洛谷提高组训练营找几道水题刷着玩玩(虽然自己早已过了打OI的年纪)- 简单博弈论专题 P1199 三国游戏 这么考虑,由于电脑总是不能让我搭配出当前能 ...

最新文章

  1. 一次图文并茂的***完整测试二
  2. vs + ffmpeg------待续
  3. Oracle sql语句执行过程图文分析
  4. AI老大哥,正在看着你
  5. 关于Apache虚拟主机的设置
  6. 【转】DATAGRIDVIEW控制
  7. 单身狗有福了!斯坦福教授化身丘比特,AI算法之箭帮你配真命爱侣
  8. Unity3D下Linux平台播放RTSP或RTMP流
  9. Windows平台Unity3d下如何同时播放多路RTSP或RTMP流
  10. 开源项目工时系统_自研工时管理系统,究竟好不好? | AceTeamwork
  11. android系统开机logo定制
  12. 交换机应用之端口模式(access、trunk和hybird)、是否标记(tag、untag)、端口缺省vlan(pvid、native id)
  13. 苹果手机使用爱思助手安装ipa软件
  14. 知识分享!Wi-Fi HaLow 和传统 Wi-Fi 的区别-道合顺大数据Infinigo
  15. audioread-支持多种解码 (GStreamer + Core Audio + MAD + FFmpeg) 的python音频解码库
  16. 企业微信如何群发消息到客户群?
  17. 拼题A基础篇32 计算圆周率
  18. ROS部署乐视奥比中光(astra pro)摄像头
  19. 腾讯地图全行业POI数据下载
  20. ArcGIS 区域统计分析(一)

热门文章

  1. cmd 根据计算机名查ip地址_如何查找和更改Mac上的IP地址
  2. yum安装php解析,详解Centos下YUM安装PHP的两种方式
  3. SendMessage 函数
  4. idea中通过搜索添加maven依赖包
  5. linux pandas教程_Python Anaconda教程–了解最受欢迎的数据科学平台
  6. 目前选择四核处理器移动平台,是最佳时机吗?
  7. django高级之缓存与信号
  8. Css/Js推荐类库
  9. 深入理解Angular2变化监测和ngZone
  10. T3137 栈练习1 codevs