UVA1218 完美的服务 Perfect Service
题目描述
一个网络中有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相关推荐
- UVa1218完美的服务
题意: 思路: 注意: d[u][2]不能设为真的无穷大,因为涉及累加,会溢出.应该设一个它可能取到的最大值n. 然后就是,刚开始用vis数组标记,模拟dfs来遍历树,发现不行,因为在求d[u][2] ...
- Android 服务(Service)
一.服务的解释 服务(Service)是Android中实现后台运行的解决方案,它适合那些去执行不需要和用户交互而且还要求长期运行的任务.服务的运行不依赖任何的与任何用户界面,即使程序被切换到后台,或 ...
- 浅谈服务治理、微服务与Service Mesh(一二三)
本文为转载#原文链接:易商阜极 引言 本系列文章将为大家介绍当下最流行的服务治理.微服务等相关内容,从服务治理.SOA.微服务到最新的服务网格(Service Mesh)进行综合介绍和分析.作为本系列 ...
- 微服务时代--service meshAGW
转载自:https://zhuanlan.zhihu.com/p/61901608 Service Mesh Service Mesh作为下一代微服务技术的代名词,初出茅庐却深得人心一鸣惊人,大有一统 ...
- 下一代微服务架构——服务网格Service Mesh
下一代微服务架构--服务网格Service Mesh 下一代微服务架构--服务网格Service Mesh 服务治理 什么是服务治理 系统架构形态演进 现阶段存在的问题 Service Mesh是什么 ...
- WCF4.0新特性体验(6):路由服务Routing Service(下)
紧接前文WCF4.0新特性体验(5):路由服务Routing Service(上).今天我们介绍WCF4.0消息路由的实现机制,然后会讲解路由服务的实现过程. [4]WCF与路由服务: 其实在介绍WC ...
- Perfect service(树形dp)
Perfect service(树形dp) 有n台机器形成树状结构,要求在其中一些机器上安装服务器,使得每台不是服务器的计算机恰好和一台服务器计算机相邻.求服务器的最小数量.n<=10000. ...
- 在Openstack上部署compute节点上时,开启服务openstack-nova-compute.service无法启动的解决方法
在Openstack上部署compute节点上时,开启服务openstack-nova-compute.service无法启动的解决方法 参考文章: (1)在Openstack上部署compute节点 ...
- CentOS使用chkconfig增加开机服务提示service xxx does not support chkconfig的问题解决
CentOS使用chkconfig增加开机服务提示service xxx does not support chkconfig的问题解决 参考文章: (1)CentOS使用chkconfig增加开机服 ...
- Android服务之Service(其一)
转载地址:http://www.cnblogs.com/zhangdongzi/archive/2012/01/08/2316711.html android中服务是运行在后台的东西,级别与activ ...
最新文章
- C/C++操作符的优先级和结合性问题浅析
- MFC - 获取程序当前路径
- ATen(A TENsor library for C++11)剖析(1)
- HTTP Authentication(HTTP认证)(转)
- 框式交换机指示灯提示信息
- inDesign教程,如何在文档中添加交互性预览?
- mybatis 多租户saas_SaaS 微服务脚手架
- (详解)CentOS 7+环境下PHP使用Imagick+ghostscript将PDF文件转为图片
- opencv python 人脸识别 相似度_OpenCV+python 人脸识别
- 2021年安全生产模拟考试(全国特种作业操作证电工作业-继电保护模拟考试题库一)安考星
- maven clean Process terminated
- UE4地形使用卫星贴图
- 香港服务器要个人信息么,香港个人信息应当遵循服务器23.225合法
- 【最近抖音上元宇宙虚拟项目七国争霸,直播互动游戏源码解析】
- python 少儿不宜图片识别(基于肤色数量)
- 期望、方差、标准差、协方差、相关系数、协方差矩阵、残差、残差平方和(SSE)、标准化残差,残差分析
- Latex 参考文献格式
- mysql实习报告总结_MYSQL实训心得
- oracle oats 工具讲解,Oracle 表空间基本操作
- 计算机技术在数学教学中的应用,计算机技术在数学教学中的应用
热门文章
- zuul网关_Spring Cloud第五章:服务网关Zuul
- linux计划任务 没30s_一分钟学会电脑Linux系统和Windows另类的关机方法,6到飞起来...
- sql语句mysql_MySQL基本的Sql语句
- 词云python灿烈,Python jieba分词、词云、文件读取、函数调用、匿名函数
- mysql 5.6的安装
- 清华大学开源用于网络嵌入的工具包 OpenNE
- JavaScript 启动性能瓶颈分析与解决方案
- MySQL主从数据同步延时分析
- 用户空间缺页异常pte_handle_fault()分析--(上)【转】
- CvtColor(转)