例题29 UVa11825 Hackers' Crackdown(DP:子集)
来源:互联网 发布:苹果音乐变音软件 编辑:程序博客网 时间:2024/06/05 13:23
题意:
看白书二P67
要点:
这题还是有点难度的,思维上比较难想到,具体解析看白书吧。
#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int N = 1 << 20;int s[N],p[N],cover[N],f[N];int main(){int n;int i,kase=1;while (~scanf("%d", &n) && n){int m,x;for (i = 0; i < n; i++){scanf("%d", &m);p[i] = 1 << i;while (m--){scanf("%d", &x);p[i] |= (1 << x);}}for (int S = 0; S <= (1 << n); S++)//S表示不同pi的并集{cover[S] = 0;for (i = 0; i < n; i++)if (S&(1 << i))cover[S] |= p[i];//cover表示当前S的某个服务的并集}int all = (1 << n) - 1;f[0] = 0;for (int S = 1; S < (1 << n); S++){f[S] = 0;for (int S0 = S; S0; S0 = (S0 - 1)&S)if (cover[S0] == all)f[S] = max(f[S], f[S^S0] + 1);}printf("Case %d: %d\n", kase++, f[all]);}return 0;}
0 0
- 例题29 UVa11825 Hackers' Crackdown(DP:子集)
- UVA11825: Hackers' Crackdown (状压dp)
- Hackers’ Crackdown - UVa11825 状压dp
- Hackers’ Crackdown-----UVA11825-----DP+状态压缩
- uva11825 - Hackers' Crackdown(状态压缩dp)
- uva11825 Hackers' Crackdown
- Uva11825 - Hackers' Crackdown
- uva11825 - Hackers' Crackdown
- UVa11825 Hackers' Crackdown
- 【UVA11825】Hackers' Crackdown
- UVa11825 Hackers' Crackdown
- uva 11825 - Hackers' Crackdown(dp+子集枚举)
- uva 11825 Hackers' Crackdown (状压dp,子集枚举)
- UVA 11825 Hackers' Crackdown(枚举子集+dp)
- UVA11825[Hackers' Crackdown] 动态规划
- UVA 11825Hackers' Crackdown dp+位运算状态压缩(子集枚举)
- UVA 11825 - Hackers' Crackdown 状态压缩 dp 枚举子集
- UVA 11825 Hackers' Crackdown(状压dp)
- app由于未按照iCoud数据储存的准则被拒解决办法
- NetStat应用详解
- mac 装oh my zsh
- Android中一些很酷的开源框架
- VC8常用汇编 指针型变量赋值
- 例题29 UVa11825 Hackers' Crackdown(DP:子集)
- springMVC源码分析--容器初始化(二)DispatcherServlet
- RxJava,让一切变得更简单
- 1622-5 孔富晨 总结《2016年10月13日》 【连续第13天总结】
- bzoj 1103: [POI2007]大都市meg(树链剖分)
- Leetcode 124. Binary Tree Maximum Path Sum 最大路径和 解题报告
- VS2013快捷键
- 顺序表的生成、初始化、插入、删除
- HDU 5874 Friends and Enemies 2016大连网赛