这个问题要看状态怎么想,第一种直接的想法是1代表未合并,状态就从1111111 转移到 带有1个0,然后带有两个0, 但是这样子编程非常不直观。换一种思路,0代表未合并,但是我可以先合并前几个,就是说在压缩状态的过程中,状态转移的时候尽量是一个连续量的转化

#include <iostream>
#include <cmath>
#include <cstring>
using namespace std;
int cost[11][11];
int dp[1<<11];
int main()
{int N;while(cin>>N && N!=0){for(int i=0; i<N; i++){for(int j=0; j<N; j++)cin>>cost[i][j];}memset(dp, 0, sizeof(dp));for(int tag = 0; tag < (1<<N); tag++)  // tag == 0{for(int i = 0; i<N; i++){if(tag & (1<<i)) continue;for(int j=0; j<N; j++){if(tag & (1<<j) || i==j) continue;dp[tag ^ (1<<j)] = max(dp[tag ^ (1<<j)], dp[tag]+ cost[i][j]);}}}int ret = 0;for(int i=0; i<(1<<N); i++)ret = max(ret, dp[i]);cout<<ret<<endl;}return 0;
}

转载于:https://www.cnblogs.com/sosi/p/3669941.html

ZOJ 3471 压缩状态DP相关推荐

  1. 动态规划(DP),压缩状态,插入字符构成回文字符串

    题目链接:http://poj.org/problem?id=1159 解题报告: 1.LCS的状态转移方程为 if(str[i-1]==str[j-1])dp[i][j]=dp[i-1][j-1]+ ...

  2. 洛谷 P2051 [AHOI2009]中国象棋 状态压缩思想DP

    P2051 [AHOI2009]中国象棋 题意: 给定一个n*m的空棋盘,问合法放置任意多个炮有多少种情况.合法放置的意思是棋子炮不会相互打到. 思路: 这道题我们可以发现因为炮是隔一个棋子可以打出去 ...

  3. poj 2817 WordStack (状态dp)

    http://poj.org/problem?id=2817 这个题的意思是第一行给出case数N (1 <= N <= 10),然后给出N个单词,每个一行,当输入不是正整数的时候结束.每 ...

  4. LeetCode #1349. 参加考试的最大学生数 - 学到了:压缩状态动态规划、位运算、reduce()、str().count()

    赛题见:https://leetcode-cn.com/problems/maximum-students-taking-exam/ 我的解法是用递归实现广度优先搜索,结果是对的,但是太慢,超时了.这 ...

  5. hdu 4529(状态dp)

    郑厂长系列故事--N骑士问题 Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) P ...

  6. POJ 2817 状态DP 字符串找最多的重复

    题意: 给出字符串个数 n 给出n串字符串 找出上下两个字符串重复和最多的个数.. eg: 5 abc bcd cde aaa bfcde 0根据 aaa abc bcd cde bfcde答案就是重 ...

  7. hdu 2809 状态DP 三国吕布

    参考于 http://blog.csdn.net/woshi250hua/article/details/7746780 题意:吕布一个人单挑N个英雄,没打一个英雄一定要有一个人死才行,求最后如何打才 ...

  8. HDU 4284 Travel(12年天津 状态DP)

    转载请注明出处,谢谢http://blog.csdn.net/acm_cxlove/article/details/7854526       by---cxlove 题目:给出一些城市,从1出发,旅 ...

  9. ZOJ 3502 Contest 状态压缩 概率 DP

    链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3502 1 #include <iostream> 2 # ...

最新文章

  1. ubuntukylin-14.04.2-desktop-amd64中python2.7版本安装机器学习库
  2. 80年代高考数学卷,共10套,有您做过的高考卷吗?
  3. python多线程没用_python的多线程到底有没有用?
  4. python3.8安装pip-CentOS7.2安装python3.8与pip
  5. Java初学者福音——自动设置环境变量
  6. UA MATH564 概率论VI 数理统计基础1
  7. gdb 调试kvm虚拟机_GDB+QEMU调试内核模块(实践篇)
  8. 华为软件机试测试题C语言,华为软件测试面试经验
  9. 为什么说比特币隐私是一门艺术?
  10. 进程的切换和系统的一般执行过程
  11. 8. JavaScript HTML DOM 事件
  12. PHP上传文件到项目public路径接口
  13. matlab的机器学习工具箱在哪,[matlab]机器学习及SVM工具箱学习笔记
  14. 移动前端图片压缩上传
  15. 主板风扇转不开机是什么问题,电脑开机没反应_电脑开机风扇转但无法启动主板...
  16. 小米手机android目录在哪里设置字体,[小米手机]小米手机MIUI自己制作.MTZ字体包方法 无需ROOT权限...
  17. Mac mini 2018 win10 外接显卡终极教程
  18. PHP容器--Pimple运行流程浅析
  19. 手把手带你做一个Python打飞机游戏
  20. IONIC4 苹果登录-Sign In With Apple Id

热门文章

  1. 离散事件模拟在游戏中的应用
  2. PHP面试题:你常用到的mysql命令?
  3. Python编程专属骚技巧8
  4. vue全局路由守卫beforeEach
  5. 2015 11月30日 一周工作计划与执行
  6. CodeForces 567F DP Mausoleum
  7. Java开发WebService(使用Java-WS)
  8. 面试题之发散思维能力:如何用非常规方法求1+2+···+n
  9. 【Demo 0121】纯资源DLL中提取资源
  10. 凌云架构V0.1——第一部分 Why架构?——第一章 新项目来了