题解:我们使用一个二位数组dp[i][j]记录进行到第i个任务时,人组合为j时的最大和(这里的j我们用二进制的每位相应一个人)。

详细见代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
typedef long long ll;
double s[11][1010];
double dp[1010][1050];double work(int m,int n)
{int k=(1<<m)-1;for(int i=2; i<=n; i++){for(int l=0,r=0; l<k; l++){if(dp[i-1][l])for(int j=0; j<m; j++){r=1<<j;if(l&r) continue;dp[i][l|r]=max(dp[i][l|r],dp[i-1][l]+s[j+1][i]);}}if(dp[i-1][k])        //j==k时单独处理,相当于已经运行完一轮之后的第一个任务for(int j=0,r=0; j<m; j++){r=1<<j;dp[i][r]=max(dp[i][r],dp[i-1][k]+s[j+1][i]);}}double ans=0;for(int i=0; i<=k; i++)ans=max(ans,dp[n][i]);return ans;
}int main()
{int cas,m,n;scanf("%d",&cas);for(int ca=1; ca<=cas; ca++){memset(dp,0,sizeof(dp));scanf("%d%d",&m,&n);for(int i=1; i<=m; i++){for(int j=1; j<=n; j++)scanf("%lf",&s[i][j]);dp[1][1<<(i-1)]=s[i][1];}printf("Case #%d: %.5lf\n",ca,work(m,n));}return 0;
}

转载于:https://www.cnblogs.com/zfyouxi/p/4490919.html

hdu 5045 Contest(状态压缩DP)相关推荐

  1. hdu 5418(状态压缩dp+Floyd)

    点击打开链接 解题思路:这道题目和TSP问题很相似,唯一不同的是同一个点可以重复走几次.... 这道题目只有16个顶点,所以很容易想到状态压缩dp,dp[i][j]表示到达顶点i时的状态为j的最小花费 ...

  2. hdu 5067(状态压缩dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5067 解题思路:这道题开始想复杂了,想用bfs去求出最短距离,其实没必要,因为题目中没有阻碍关系,所以 ...

  3. LeetCode 1879. 两个数组最小的异或值之和(状态压缩DP)

    文章目录 1. 题目 2. 解题 2.1 回溯 2.2 状态压缩DP 1. 题目 给你两个整数数组 nums1 和 nums2 ,它们长度都为 n . 两个数组的 异或值之和 为 (nums1[0] ...

  4. Victor and World(spfa+状态压缩dp)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5418 Victor and World Time Limit: 4000/2000 MS (Java/ ...

  5. Light OJ 1316 A Wedding Party 最短路+状态压缩DP

    题目来源:Light OJ 1316 1316 - A Wedding Party 题意:和HDU 4284 差点儿相同 有一些商店 从起点到终点在走过尽量多商店的情况下求最短路 思路:首先预处理每两 ...

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

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

  7. DP大作战—状态压缩dp

    题目描述 阿姆斯特朗回旋加速式阿姆斯特朗炮是一种非常厉害的武器,这种武器可以毁灭自身同行同列两个单位范围内的所有其他单位(其实就是十字型),听起来比红警里面的法国巨炮可是厉害多了.现在,零崎要在地图上 ...

  8. 0x56. 动态规划 - 状态压缩DP(习题详解 × 7)

    目录 Problem A. 最短Hamilton路径 ProblemB. 蒙德里安的梦想 Problem C. Corn Fields Problem D. 小国王 Problem E. 炮兵阵地 P ...

  9. POJ 2411 Mondriaan‘s Dream(最清楚好懂的状压DP讲解)(连通性状态压缩DP)

    poj 2411 Mondriaan's Dream(最清晰的状压DP解析) 闫氏DP大法好 我们这里是一列一列地来,因为是一个棋盘性的状态压缩DP,从哪个方向都一样 摆放的小方格总方案数 等价于 横 ...

最新文章

  1. 作业 20181016-10 每周例行报告
  2. Hadoop学习笔记—20.网站日志分析项目案例(一)项目介绍
  3. poj 2455 Secret Milking Machine(二分枚举+最大流)
  4. php判断目录是否有写的权限,php中判断文件空目录是否有读写权限
  5. 【upstream】Nginx配置upstream实现负载均衡
  6. LightMapping和LightProbe
  7. 在chrome上安装印象笔记插件
  8. 智慧工地、智慧建筑、项目GIS、工程信息化协同管理平台、BIM一体化项目管理平台、工程进度管理、计划进度、施工模拟、BIM视图、模型管理、质量管理、安全管理、施工管理、文档管理、建筑施工、工程展板
  9. 设置二级域名解析到同IP不同端口
  10. 计算机游戏缓存在哪里清楚,电脑清除缓存在哪里-怎么干净的清理电脑缓存电脑很卡东西清理不干净 爱问知识人...
  11. E3亮点:StudioMDHR的《茶杯头》
  12. 原生js实现简易的可旋转伸缩连线效果代码
  13. 中兴笔试与面试经验总结
  14. 《魔兽世界》衰败之因:掉进“大数据陷阱”
  15. 如何将小鹤单字挂接到搜狗输入法
  16. 计算机用户密码无法输入,电脑数字密码输入不了怎么办
  17. 跟我学Python图像处理丨图像特效处理:毛玻璃、浮雕和油漆特效
  18. 数据挖掘技术及其应用现状
  19. 77道JVM系列面试题总结(2万字解析)
  20. 多多科学计算机历史版,铃声多多历史版

热门文章

  1. vue-cli中config目录下的index.js文件详解
  2. [pytorch、学习] - 4.6 GPU计算
  3. javascript --- 抽象相等
  4. 1.App瘦身经验总结
  5. 在Application_Error事件中获取当前的Action和Control
  6. CSS:页脚紧贴底部
  7. DBCP|C3P0参数详解
  8. UVa - 11988 Broken Keyboard(数组模拟链表)
  9. 我的Python成长之路---第六天---Python基础(19)---2016年2月20日(晴)
  10. static 与 extern 关键字描述说明