首页 > 其他分享 >P1364 医院设置

P1364 医院设置

时间:2023-11-24 19:45:24浏览次数:39  
标签:P1364 vis int 医院 right MAXN 设置 cal

P1364 医院设置

存树

struct Node {
    int left, right, father, value;
} t[MAXN];

int main()
{
    for (int i = 1; i <= n; i++)
    {
		cin >> t[i].value >> t[i].left >> t[i].right;
    }
    for (int i = 1; i <= n; i++)
    {
		t[t[i].left].father = i;
        t[t[i].right].father = i;
    }
}

DFS

从指定结点开始,进行 dfs。

对于某个结点:

  • 搜索的深度就是源点到这个结点的距离
  • 单点贡献就是源点到这个节点的距离乘上该点的居民数量然后加上自己父节点左右子节点的贡献的总和。
#include <iostream>
#include <cstring>
#define MAXN 110
using namespace std;
int n, ans = 10000000000;
bool vis[MAXN];
int cal(int x, int d)
{
   if (!x || vis[x])
   {
   	return 0;
   }
   vis[x] = true;
   return cal(t[x].left, d + 1) + cal(t[x].right, d + 1) + cal(t[x].father, d + 1) + t[x].value * d;
}

int main()
{
   for (int i = 1; i <= n; i++)
   {
   	memset(vis, 0, sizeof(vis));
       ans = min (ans, cal(i, 0));
   }
}

标签:P1364,vis,int,医院,right,MAXN,设置,cal
From: https://www.cnblogs.com/kdlyh/p/17854608.html

相关文章

  • 微信小程序 文字换行设置
    在wxml中的样式为block时,通过设置包裹文字的view的样式可达到换行,设置的属性为:word-break: break-word; 例:wxml和wxss<viewclass="text-format">超出的文字,超出的文字,超出的文字,超出的文字,超出的文字,超出的文字,<view>.text-form{word-break:break-word;......
  • 若依 vue前端 动态设置路由path不同参数 在页面容器里打开新页面(新路由),面包屑和标签页
    若依vue前端动态设置路由path不同参数在页面容器里打开新页面(新路由),面包屑和标签页标题根据参数动态改变,面包屑多级标题,侧边栏对应菜单亮起:https://blog.csdn.net/weixin_43991241/article/details/126319259?ops_request_misc=&request_id=&biz_id=102&utm_term=matched.redir......
  • 基于springboot的医院管理系统
    项目源码获取方式放在文章末尾处项目技术数据库:Mysql5.7数据表:36张开发语言:Java(jdk1.8)开发工具:idea前端技术:HTML+CSS后端技术:SpringBoot 项目源码获取方式放在文章末尾处功能简介该项目是一个医院管理系统,可自行配置用户角色以及字典信息,具体功能菜单如下:   登录    后......
  • 麒麟KYSEC使用方法06-命令设置账户锁定
    往期好文:麒麟KYSEC使用方法05-命令设置密码强度hello,大家好啊,今天给大家带来麒麟KYLINOS的kysec使用方法系列文章第六篇内容----使用命令设置账户锁定,账户锁定策略有一个文件需要修改,common-auth,今天给大家介绍一下使用命令设置账户锁定的文章,欢迎大家点个赞并点个在看。关注我吧!1......
  • PHP医院手术麻醉信息系统源码,实现手术申请与排班、审批、安排、术前、术中和术后的信
    医院手术麻醉信息系统全套商业源码,自主版权,支持二次开发手术麻醉信息系统是HIS产品的中的一个组成部分,主要应用于医院的麻醉科,属于电子病历类产品。医院麻醉监护的功能覆盖整个手术与麻醉的全过程,包括手术申请与排班、审批、安排、术前、术中和术后的信息管理提供支持。手术麻醉信......
  • 本博客的SimpleMemory博客皮肤设置教程及效果
    博客样式设置本博客皮肤设计来自一位超级大佬所做大佬的GitHub项目地址:https://github.com/BNDong/Cnblogs-Theme-SimpleMemory大佬的博客园地址:https://www.cnblogs.com/BNDong第一步:获取权限开通博客园账号并且开通博客园后台设置的JS权限,并勾选博客皮肤为SimpleMemory。......
  • Ubuntu ssh证书登录设置
    ubuntussh证书登录设置1、安装ssh服务一般都自带不用安装。sudoaptinstallssh2、ssh配置文件sudovim/etc/ssh/sshd_config参数说明:PermitRootLoginyes  允许root用户登录PasswordAuthenticationyes  允许使用密码进行登录PubkeyAuthenticationyes  ......
  • 怎样在win10中设置开机启动项
    怎样在win10中设置开机启动项-百度经验(baidu.com) Win10运行命令Shell:startup与Shell:Commonstartup的区别?A:`Shell:startup`和`Shell:Commonstartup`是两个不同的Windows10启动文件夹。这些文件夹包含了在系统启动时自动运行的应用程序和脚本的快捷方式。这两个文......
  • Kafka-合理设置broker、partition、consumer数量
     1.broker的数量最好大于等于partition数量一个partition最好对应一个硬盘,这样能最大限度发挥顺序写的优势。一个broker如果对应多个partition,需要随机分发,顺序IO会退化成随机IO。实验条件:3个Broker,1个Topic,无Replication,异步模式,3个Producer,消息Payload为100字节:场景1:p......
  • centos的服务器的yum源设置
    centos的服务器的yum源设置最近使用了超聚变服务器FusionOS。超聚变的yum源为自己的,如果需要修改yum源为国内主流的阿里源,则可以通过以下的方式。任何镜像的centos服务器其实修改方式都一样。1、进入配置目录cd/etc/yum.repos.d/2、备份当前系统的原yum源当前系统的repo为......