UVA 11825 Hackers' Crackdown 状态DP
题意:
有一个由编号0~n-1的n台计算机组成的网络,一共有n种服务,每台计算机上都运行着全部服务,对于每台计算机,你可以选择停止一项服务,这个行为会导致与这台计算机和与他相连的其他计算机上的这项服务都停止(原来已经停止的继续保持停止状态)。求最多能使多少个服务瘫痪(即没有任何一台计算机在运行这项服务)。
首先是一个枚举子集的技巧
for(int sub=S;sub>0;sub=(sub-1)&S)
问题抽象成数学模型就是:
把n个集合p[i],0<=i<n分成尽量多组,使得每组中各个集合的并集为全集
p[i]就是表示与i相连的计算机集合(包括i)
int n; int p[16]; int read() {for(int i=0;i<n;i++){p[i]=(1<<i);int m;scanf("%d",&m);for(int j=0;j<m;j++){int x;scanf("%d",&x);p[i]|=(1<<x);}}return 0; } int c[1<<16]; int dp[1<<16]; int main() {int ca=1;while(scanf("%d",&n)!=EOF&&n){read();int total=(1<<n)-1;for(int st=0;st<=total;st++){c[st]=0;for(int i=0;i<n;i++){if(st&(1<<i))c[st]|=p[i];}}memset(dp,0,sizeof(dp));for(int st=0;st<=total;st++){for(int sub=st;sub>0;sub=(sub-1)&st)if(c[sub]==total){dp[st]=max(dp[st],dp[st^sub]+1);}}printf("Case %d: %d\n",ca++,dp[total]);}return 0; }
View Code
转载于:https://www.cnblogs.com/BMan/p/3249788.html
UVA 11825 Hackers' Crackdown 状态DP相关推荐
- uva 11825 Hackers' Crackdown
原题: Miracle Corporations has a number of system services running in a distributed computer system wh ...
- uva 11825 - Hackers' Crackdown dp
题意 有n个节点,每个节点有m_i个邻居,每个人和邻居为一个整体,问最多可以分成几组使得每组并集合为全集 转移方程 复杂度 3^n /* author:jxy lang:C/C++ universit ...
- UVA - 11825 ——Hackers' Crackdown (状压DP)
题目链接:https://vjudge.net/problem/UVA-11825 思路:每个电脑与它相邻的电脑都看成一个集合,求包含所有电脑的最多集合 dp[s]=max(dp[s],dp[s^s0 ...
- UVA 11825 Hackers' Crackdown
题目链接:http://acm.hust.edu.cn/vjudge/problem/18913 题意:假设你是一个黑客,侵入了n台计算机,一共有n种服务,每台计算机都运行着所有的服务.对于每台计算机 ...
- Hackers' Crackdown 状压dp
Hackers' Crackdown 题意:一共有n台电脑,每台电脑有n个服务,每台电脑有它相邻的电脑,我们对于n台电脑后,每台电脑选择一种服务,那么与它相邻的电脑的这种服务都瘫痪,问你最多能使多少种 ...
- hdu 4529(状态dp)
郑厂长系列故事--N骑士问题 Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) P ...
- Uva 1625 - Color Length(DP)
题目链接 https://cn.vjudge.net/problem/UVA-1625 [题意] 输入两个长度分别为n和m的颜色序列(n,m<=5000),要求按一定规则合并成一个序列,规则是每 ...
- POJ 2817 状态DP 字符串找最多的重复
题意: 给出字符串个数 n 给出n串字符串 找出上下两个字符串重复和最多的个数.. eg: 5 abc bcd cde aaa bfcde 0根据 aaa abc bcd cde bfcde答案就是重 ...
- uva 1218 Perfect Service 树形dp
// uva 1218 Perfect Service 树形dp // // 解题思路: // // d[u][0]表示节点本身是服务器 // d[u][1]表示节点的父节点是服务器 // d[u][ ...
最新文章
- 织梦php首页老是自动恢复,dede首页网址自动加上index.html问题解决方法
- Oculus不准备出席E3了!这是要搞事情?
- org.hibernate.MappingException: entity class not found hbm可以解析,但是实体类不能解析...
- java可以连接php吗_java - 需要PHP或Java代码才能使用多个Internet连接
- java final date_Java中的时间和日期(上)
- 能过ChilkatDotNet4.dll组件,开发SFTP,上传下载功能。
- X3950通过MGMT关机产生NMI,PCI,LOG报错
- 2020-9测试通过:eclipse安装svn插件
- oracle帐号永久生效,[Linux] alias永久生效
- Redis入门小案例
- 简单制作vbs 对话框表白
- Hacker's Technique programme pdf+源码
- 超详细的Elasticsearch高性能优化实践
- JAVA 学习第三天 Scanner顺序\选择\循环结构!
- 5种赚钱方式,设计师加薪不用靠老板!
- 用idea将一个java文件打包成可执行jar包并能正确运行
- Oracle---SQL语句
- 报表数据源之Hadoop
- echarts绘制3D旋转地球
- Win10麦克风自动调节音量怎么办?
热门文章
- Eclipse Git下载问题:Internal error; consult Eclipse error log.
- WebAssembly实例之hello world
- Open vSwitch 概述
- 详解Redis的架构演化之路(附16张图解)
- java 虚拟打印机_打印作业提交给打印机,使用虚拟打印机但不是真正的打印机 . Java的...
- 关于BeautifulSoup写class和class_
- python字典和JSON格式的转换
- Git的安装以及简单使用
- 请求网页时,怎么给我返回了一段 JavaScript 代码
- MongoDB 资源、库、工具、应用程序精选列表中文版