HDU 5045 DP+状压
2024-08-31 09:30:12
2014 ACM/ICPC
Asia Regional Shanghai Online
给出N个人做M道题的正确率,每道题仅仅能由一个人做出,而且当全部人都做出来且仅做出一道题时,做过题的人才干够继续做题,求最大期望。
一共仅仅有10个人,状压存储每一个人是否已经做出题目,假设都作出则状态清0。
#include "stdio.h"
#include "string.h" double Max(double a,double b)
{
if (a<b) return b;else return a;
}
double ans,dp[1010][1050],a[1010][1010];
int main()
{
int Case,ii,i,j,aim,k,n,m,peo; scanf("%d",&Case);
for (ii=1;ii<=Case;ii++)
{
scanf("%d%d",&n,&m);
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
scanf("%lf",&a[i][j]); printf("Case #%d: ",ii); aim=(1<<n)-1;
for (i=0;i<=m;i++)
for (j=0;j<=aim;j++)
dp[i][j]=-1; dp[0][0]=0; for (j=1;j<=m;j++)
for (i=0;i<=aim;i++)
if (dp[j-1][i]!=-1)
for (k=1;k<=n;k++)
{
peo=1<<(k-1);
if ((i&peo)==peo) continue;
peo|=i;
if (peo==aim) peo=0; dp[j][peo]=Max(dp[j][peo],dp[j-1][i]+a[k][j]);
}
ans=0;
for (i=0;i<=aim;i++)
ans=Max(ans,dp[m][i]); printf("%.5lf\n",ans);
}
}
最新文章
- SCVMM中Clone虚拟机失败显示Unsupported Cluster Configuration状态
- IBatis 2.x 和 MyBatis 3.0.x 的区别(从 iBatis 到 MyBatis)
- 第一章 JavaScript简史
- linux 文件管理以及其相关指令
- PostGreSQL 分页
- maven环境快速搭建(转)
- UVA 568 Just the Facts (水)
- mysql数据库优化日志(更)-howyue
- IOS本地化。
- git 使用详情
- akka-stream与actor系统集成以及如何处理随之而来的背压问题
- Nginx如何设置禁止IP访问网站
- django model 条件过滤 queryset.filter(**condtions) 用法
- linux 新进程的创建
- PHP通用分页类page.php[仿google分页]
- Linux Ubuntu下软件包管理
- insert into 的另一种添加插入新行方式
- webpack 踩的坑
- 【[APIO2010]巡逻】
- 浅谈DB2在线分析处理函数