题意:任意两个能量球相撞,得到一个能量,此能量消失,问你最后能得到的最大能量

题解:利用二进制压缩逆推,由11111状态推到00001等状态。

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
using namespace std;
const int M =  (1<<11)+3;
int dp[M],a[M];
int map[15][15];
int main(){int T,n;while(cin >> n,n){for(int i = 0;i < n;i ++){for(int j = 0;j < n;j++){cin >> map[i][j];}}int cnt = 1 << n;for(int i = cnt-1;i>=0;i-- ){dp[i] = 0;for(int j = 0;j < n;j ++){int ret = 1 << j;if(!(i&ret)) continue ;for(int k = 0;k < n;k++){int res = 1 << k;if(res&i) continue;if(k == j) continue;dp[i] = max(dp[i],dp[i|res] + map[j][k]);}}}int ans = -1;for(int i = 0;i < cnt;i++) ans = max(ans,dp[i]);//寻找状态只剩一个气体的最大值cout << ans <<endl;}
}

zoj-3471 Most powful相关推荐

  1. ZOJ 3471 压缩状态DP

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

  2. [置顶] 状态压缩DP 简单入门题 11题

    1.每一行用一个二进制数表示, 有些二进制数是题目中不合法的状态,我们可以预处理出一行合法状态的个数,在递推的过程中复杂度就会大大降低. POJ 3254        Corn Fields     ...

  3. 状态压缩dp学习小记part2

    继续学习状态压缩的相关知识. 本来准备继续按照上篇博文里提到的那篇论文继续学习,但被矩形完全覆盖虐了回来,决定先做些其他的题增进理解之后再回来做. Zoj 3471 Most Powerful 题目链 ...

  4. ZOJ 2723 Semi-Prime ||ZOJ 2060 Fibonacci Again 水水水!

    两题水题: 1.如果一个数能被分解为两个素数的乘积,则称为Semi-Prime,给你一个数,让你判断是不是Semi-Prime数. 2.定义F(0) = 7, F(1) = 11, F(n) = F( ...

  5. zoj 1204 Additive equations

    ACCEPT acm作业 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=204 因为老师是在集合那里要我们做这道题.所以我很是天 ...

  6. 【HDU/POJ/ZOJ】Calling Extraterrestrial Intelligence Again (素数打表模板)

    http://poj.org/problem?id=1411  POJ http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=168 ...

  7. 模拟 ZOJ 3878 Convert QWERTY to Dvorak

    题目传送门 1 /* 2 模拟:手敲map一一映射,累! 3 除了忘记读入字符串不能用gets用getline外还是很顺利的AC了:) 4 */ 5 #include <cstdio> 6 ...

  8. 矩阵连乘积 ZOJ 1276 Optimal Array Multiplication Sequence

    题目传送门 1 /* 2 题意:加上适当的括号,改变计算顺序使得总的计算次数最少 3 矩阵连乘积问题,DP解决:状态转移方程: 4 dp[i][j] = min (dp[i][k] + dp[k+1] ...

  9. 台式机dp接口_台式机成就3471和战99,哪个更好?对比分析

    导读:成就3471和战99,均为品牌成套机,价格4千元左右,是否值得入手?请往下看: 戴尔(DELL)成就3471: 1.硬件点评下: 主板:小型机箱,主板接口很丰富,M2.0的Pic-E接口,sat ...

  10. ZOJ 3597 Hit the Target! (线段树扫描线 -- 矩形所能覆盖的最多的点数)

    ZOJ 3597 题意是说有n把枪,有m个靶子,每把枪只有一发子弹(也就是说一把枪最多只能打一个靶子), 告诉你第 i 把枪可以打到第j个靶, 现在等概率的出现一个连续的P把枪,在知道这P把枪之后,你 ...

最新文章

  1. 大学生学单片机怎么入门?
  2. spring boot系列03--spring security (基于数据库)登录和权限控制(下)
  3. 51单片机串口通信(字符串接收和发送)
  4. 深入浅出 Java 8 Lambda 表达式
  5. 数学建模:人口增长模型
  6. series 锐捷rgrsr20_锐捷RG-RSR20-04E路由器
  7. 国内装备制造业为什么需要项目管理
  8. ps如何创造图层蒙版
  9. Python学习笔记:第十四站 百宝箱
  10. ubuntu20.04鼠标只能移动不能点击+键盘无法输入问题
  11. mmdetection - config配置文件之schedule(learning rate)
  12. JS——背景色的滑动效果以及输入框的状态切换效果实现
  13. 算法竞赛命题指南(命题流程、Polygon的使用等)
  14. SNARK超详细解释,从GGPR13到Groth16
  15. 已知点的经纬度坐标计算/读取DEM高程信息/海拔高度
  16. beego使用API自动化文档生成swagger时,routers目录下无法生成commentsRouter_controllers.go文件
  17. Mifare S50控制条件
  18. 3大利器推荐,帮你写出规范漂亮的python代码
  19. 秋招C++开发学习之路day30
  20. macOS实现词典正常查询维基百科

热门文章

  1. 全球 Top 10 高材生赴神策数据的交流访问之旅
  2. MySQL高可用的几种方案
  3. 做了表分区以后的数据库表,在使用程序进行修改操作时报异常。
  4. internship research notes
  5. formal method里面的并发问题
  6. 数学建模感悟:新的算法的学习
  7. 自定义装点博客的“门面”
  8. 《Windows 系列》- 右击添加管理员权限
  9. 处理Xcode8输出无用的Log信息
  10. ROS学习之roslaunch的node标签