uvaoj 11825 - Hackers' Crackdown
来源:互联网 发布:软件培训周末班 编辑:程序博客网 时间:2024/06/07 02:27
题解:
1.状态压缩动态规划,f(s) = max(f(s - s0) & s0 覆盖全局) + 1;
总结:
1.这个题目没有自己想出来,因为没有把握好解题的方法,其实并不是非常难。动态规划的题目首先应该简单的尝试写一下转移方程,也许后面就可以豁然开朗了
2.学习到了枚举某个集合的所有子集,以后学习新的知识,应该首先自己尝试简单的思考,再去看答案,这样可以吸收更多一些
#include<iostream>#include<cstring>#include<cstdio>using namespace std;#define MAXN 20int p[MAXN],s[1 << MAXN],f[1 << MAXN];int main(){ int n,m,cur,kcas = 0; while(cin >> n && n) { for(int i = 0;i < n;i++) { cin >> m; p[i] = (1 << i); while(m--) { cin >> cur; p[i] |= (1 << cur); } } memset(s,0,sizeof(s)); for(int i = 1;i < (1 << n);i++) for(int j = 0;j < n;j++)if(i >> j & 1) s[i] |= p[j]; memset(f,0,sizeof(f)); for(int i = 1;i < (1 << n);i++) for(int j = i;j;j = ((j - 1) & i)) if(s[j] + 1 == (1 << n)) f[i] = max(f[i],f[j ^ i] + 1); printf("Case %d: %d\n",++kcas,f[(1 << n) - 1]); }}
0 0
- uvaoj 11825 - Hackers' Crackdown
- Uva-11825-Hackers’ Crackdown
- UVA 11825 Hackers' Crackdown
- UVA 11825 Hackers' Crackdown
- uva 11825 - Hackers' Crackdown
- UVA - 11825 Hackers' Crackdown
- uva 11825 Hackers' Crackdown
- UVa 11825 Hackers’ Crackdown
- UVA 11825 Hackers' Crackdown
- UVA 11825 Hackers' Crackdown
- uva 11825 - Hackers' Crackdown dp
- uva 11825 - Hackers' Crackdown dp
- Hackers' Crackdown
- Uva 11825 - Hackers' Crackdown 状态压缩
- Uva 11825 - Hackers’ Crackdown 状态压缩DP
- UVA 11825 Hackers' Crackdown 状态压缩dp
- UVa 11825 Hackers’ Crackdown / 状态压缩DP
- UVA 11825 - Hackers' Crackdown(dp+状态压缩)
- hdoj 5494 Card Game 【水题】
- 表达式中的数据类型转换
- Android数据库高手秘籍(五)——LitePal的存储操作
- Android数据库高手秘籍(六)——LitePal的修改和删除操作
- 链表004
- uvaoj 11825 - Hackers' Crackdown
- Android数据库高手秘籍(七)——体验LitePal的查询艺术
- hdoj 5495 LCS 【统计元素个数大于1的置换群数目】【LCS变形】
- 【bzoj1641】 Usaco2007 Nov Cow Hurdles 奶牛跨栏 最短路
- LVPASS
- UVA - 489 Hangman Judge
- 软工文档总结
- Java高级1
- 对于DAO的代码优化