题目描述

一个网络中有NNN个节点,由N−1N-1N−1条边连通,每个节点是服务器或者客户端。如果节点u是客户端,就意味着u所连接的所有点中有且仅有一台服务器。求最少要多少台服务器才能满足要求。

输入输出格式

输入格式

输入包含多组测试数据。对于每组数据,第一行是一个整数N(≤10000)N(\le10000)N(≤10000)。接下来N−1N-1N−1行,每行两个整数ai,bia_i,b_iai​,bi​,表示ai,bia_i,b_iai​,bi​有一条双向连通的边。除最后一组输入以外,每组数据以000结尾,最后一组数据以−1-1−1结尾。

输出格式

对于每组输入,仅输出一行,表示所需要的最小服务器台数。

树形dp

 1 #include <iostream>
 2 #include <algorithm>
 3 #include <cstring>
 4 #include <cstdio>
 5 #include <vector>
 6 using namespace std;
 7 const int maxn=1e5+5;
 8 const int INF=1e9+5;
 9 struct A
10 {
11     int v,next;
12 }e[maxn];
13 int head[maxn],tot;
14 int d[maxn][3];
15 int n,a,b;
16 template <class t>void red(t &x)
17 {
18     x=0;
19     int w=1;
20     char ch=getchar();
21     while(ch<'0'||ch>'9')
22     {
23         if(ch=='-')
24             w=-1;
25         ch=getchar();
26     }
27     while(ch>='0'&&ch<='9')
28     {
29         x=(x<<3)+(x<<1)+ch-'0';
30         ch=getchar();
31     }
32     x*=w;
33 }
34 void input()
35 {
36     freopen("input.txt","r",stdin);
37     //freopen("output.txt","w",stdout);
38 }
39 void add(int x,int y)
40 {
41     e[++tot].v=y;
42     e[tot].next=head[x];
43     head[x]=tot;
44 }
45 void dfs(int u,int fa)
46 {
47     d[u][0]=1;
48     d[u][1]=0;
49     d[u][2]=INF;
50     for(int i=head[u];i;i=e[i].next)
51     {
52         int v=e[i].v;
53         if(v==fa)
54             continue;
55         dfs(v,u);
56         d[u][0]+=min(d[v][0],d[v][1]);//u
57         if(d[v][2]>=INF)
58             d[u][1]=INF;
59         else
60             d[u][1]+=d[v][2];//f
61     }
62     for(int i=head[u];i;i=e[i].next)
63     {
64         int v=e[i].v;
65         if(v==fa)
66             continue;
67     //    if(d[v][2]<INF)
68         d[u][2]=min(d[u][2],d[u][1]+d[v][0]-d[v][2]);
69     }
70 }
71 int main()
72 {
73     //input();
74     while(1)
75     {
76         red(n);
77         if(!n)
78             red(n);
79         if(n==-1)
80             break;
81         tot=0;
82         memset(head,0,sizeof(head));
83         //memset(d,0x3f,sizeof(d));
84         for(int i=1;i<n;++i)
85         {
86             red(a);
87             red(b);
88             add(a,b);
89             add(b,a);
90         }
91         dfs(1,0);
92         printf("%d\n",min(d[1][0],d[1][2]));
93     }
94     return 0;
95 }

View Code

转载于:https://www.cnblogs.com/Achensy/p/10848128.html

UVA1218 完美的服务 Perfect Service相关推荐

  1. UVa1218完美的服务

    题意: 思路: 注意: d[u][2]不能设为真的无穷大,因为涉及累加,会溢出.应该设一个它可能取到的最大值n. 然后就是,刚开始用vis数组标记,模拟dfs来遍历树,发现不行,因为在求d[u][2] ...

  2. Android 服务(Service)

    一.服务的解释 服务(Service)是Android中实现后台运行的解决方案,它适合那些去执行不需要和用户交互而且还要求长期运行的任务.服务的运行不依赖任何的与任何用户界面,即使程序被切换到后台,或 ...

  3. 浅谈服务治理、微服务与Service Mesh(一二三)

    本文为转载#原文链接:易商阜极 引言 本系列文章将为大家介绍当下最流行的服务治理.微服务等相关内容,从服务治理.SOA.微服务到最新的服务网格(Service Mesh)进行综合介绍和分析.作为本系列 ...

  4. 微服务时代--service meshAGW

    转载自:https://zhuanlan.zhihu.com/p/61901608 Service Mesh Service Mesh作为下一代微服务技术的代名词,初出茅庐却深得人心一鸣惊人,大有一统 ...

  5. 下一代微服务架构——服务网格Service Mesh

    下一代微服务架构--服务网格Service Mesh 下一代微服务架构--服务网格Service Mesh 服务治理 什么是服务治理 系统架构形态演进 现阶段存在的问题 Service Mesh是什么 ...

  6. WCF4.0新特性体验(6):路由服务Routing Service(下)

    紧接前文WCF4.0新特性体验(5):路由服务Routing Service(上).今天我们介绍WCF4.0消息路由的实现机制,然后会讲解路由服务的实现过程. [4]WCF与路由服务: 其实在介绍WC ...

  7. Perfect service(树形dp)

    Perfect service(树形dp) 有n台机器形成树状结构,要求在其中一些机器上安装服务器,使得每台不是服务器的计算机恰好和一台服务器计算机相邻.求服务器的最小数量.n<=10000. ...

  8. 在Openstack上部署compute节点上时,开启服务openstack-nova-compute.service无法启动的解决方法

    在Openstack上部署compute节点上时,开启服务openstack-nova-compute.service无法启动的解决方法 参考文章: (1)在Openstack上部署compute节点 ...

  9. CentOS使用chkconfig增加开机服务提示service xxx does not support chkconfig的问题解决

    CentOS使用chkconfig增加开机服务提示service xxx does not support chkconfig的问题解决 参考文章: (1)CentOS使用chkconfig增加开机服 ...

  10. Android服务之Service(其一)

    转载地址:http://www.cnblogs.com/zhangdongzi/archive/2012/01/08/2316711.html android中服务是运行在后台的东西,级别与activ ...

最新文章

  1. C/C++操作符的优先级和结合性问题浅析
  2. MFC - 获取程序当前路径
  3. ATen(A TENsor library for C++11)剖析(1)
  4. HTTP Authentication(HTTP认证)(转)
  5. 框式交换机指示灯提示信息
  6. inDesign教程,如何在文档中添加交互性预览?
  7. mybatis 多租户saas_SaaS 微服务脚手架
  8. (详解)CentOS 7+环境下PHP使用Imagick+ghostscript将PDF文件转为图片
  9. opencv python 人脸识别 相似度_OpenCV+python 人脸识别
  10. 2021年安全生产模拟考试(全国特种作业操作证电工作业-继电保护模拟考试题库一)安考星
  11. maven clean Process terminated
  12. UE4地形使用卫星贴图
  13. 香港服务器要个人信息么,香港个人信息应当遵循服务器23.225合法
  14. 【最近抖音上元宇宙虚拟项目七国争霸,直播互动游戏源码解析】
  15. python 少儿不宜图片识别(基于肤色数量)
  16. 期望、方差、标准差、协方差、相关系数、协方差矩阵、残差、残差平方和(SSE)、标准化残差,残差分析
  17. Latex 参考文献格式
  18. mysql实习报告总结_MYSQL实训心得
  19. oracle oats 工具讲解,Oracle 表空间基本操作
  20. 计算机技术在数学教学中的应用,计算机技术在数学教学中的应用

热门文章

  1. zuul网关_Spring Cloud第五章:服务网关Zuul
  2. linux计划任务 没30s_一分钟学会电脑Linux系统和Windows另类的关机方法,6到飞起来...
  3. sql语句mysql_MySQL基本的Sql语句
  4. 词云python灿烈,Python jieba分词、词云、文件读取、函数调用、匿名函数
  5. mysql 5.6的安装
  6. 清华大学开源用于网络嵌入的工具包 OpenNE
  7. JavaScript 启动性能瓶颈分析与解决方案
  8. MySQL主从数据同步延时分析
  9. 用户空间缺页异常pte_handle_fault()分析--(上)【转】
  10. CvtColor(转)