ZOJ 4257 (状态压缩dp)
来源:互联网 发布:十年前的qq网络用语 编辑:程序博客网 时间:2024/05/23 12:29
思路分析:状态压缩dp一般都是枚举状态,一层for循环,然后根据题目分别枚举元素,这题需要三层for循环
for(i)//枚举状态{ for(j)//枚举元素a { //判断i状态是否有j for(k)//枚举元素b { //a和b不能是同一元素 //判断i状态是否有k } }}
#include <iostream>#include <cstring>#include <cstdio>#include <cmath>#include<algorithm>using namespace std;int collide[11][11];int dp[1 << 11];int n;int main(){ while (cin >> n, n) { memset(dp, 0, sizeof(dp)); for (int i = 0; i<n; i++) { for (int j = 0; j<n; j++) { cin >> collide[i][j]; } } int end = 1 << n - 1; for (int i = 0;i<=end; i++) { for (int j = 0; j<n; j++) { if ((i&(1 << j))) continue; for (int k = 0; k<n; k++) { if (j == k) continue; if ((i&(1 << k))) continue; int temp= i | (1 << k); dp[temp] = max(dp[temp], dp[i] + collide[j][k]); } } } int Max = 0; for (int i = 0; i<(1 << n); i++) Max = max(Max, dp[i]); cout << Max << endl; } return 0;}
0 0
- ZOJ 4257 (状态压缩dp)
- ZOJ - 3802 (状态压缩dp)
- ZOJ Most Powerful (状态压缩DP)
- zoj 3502 Contest (状态压缩dp)
- ZOJ 3471 状态压缩DP
- zoj 3471 状态压缩dp
- zoj 3471 状态压缩dp
- zoj 3471(状态压缩DP)
- zoj 3471状态压缩DP
- zoj 3777(状态压缩dp)
- zoj 3777【状态压缩dp】
- zoj-3777-Problem Arrangement(状态压缩DP)
- ZOJ 2522 —— Fellowship Activity(状态压缩DP)
- ZOJ 题目3777 Problem Arrangement(状态压缩DP)
- ZOJ - 3777 Problem Arrangement(状态压缩dp)
- ZOJ 3471Most Powerful(状态压缩DP)
- zoj 3471 Most Powerful(状态压缩DP)
- zoj 3471 Most Powerful (状态压缩dp~)
- NSNumberFormatter的使用
- OJ-----计算字符个数
- HDU 5823 color II(状压DP)
- List排序
- Iterator设计模式,探究STL中迭代器的实现原理
- ZOJ 4257 (状态压缩dp)
- POJ3080 Blue Jeans
- ext fly get 区别 get、getDom、getCmp、getBody
- 易语言超级列表框使用
- 数字滑动
- Java同步
- C++ string 用法
- 数据结构实验之二叉树六:哈夫曼编码
- Session 'app': Error Launching activity