hdu5045:带权二分图匹配
题目大意 :
n个人 做m道题,其中 每连续的n道必须由不同的人做
已知第i人做出第j题的概率为pij,求最大期望
思路:
考虑每连续的n道题 都要n个人来做,显然想到了带权的二分图匹配
然后就是套模板了
代码:
#include <iostream>
#include <stdio.h>
#include<string.h>
#include<algorithm>
#include<string>
#include<ctype.h>
#include<math.h>
#include <cstring>
using namespace std;
#define MAXN 15
int n,m;
int m1[];
int m2[];
double value[][];
bool xiangdeng(double a,double b)
{
if(fabs(a-b)<0.00000001)
return ;
return ;
} double fuck(int m,int n,double Gragh_gailv[][MAXN])
{
int s[MAXN],t[MAXN];
double l1[MAXN],l2[MAXN];
int p,q,index,j,k;
double value_return=;
for(index=;index<m;index++)
{
l1[index]=-; for(j=;j<n;j++)
l1[index]=Gragh_gailv[index][j]>l1[index]?Gragh_gailv[index][j]:l1[index];
if(xiangdeng(l1[index],-))
return -;
} for(index=;index<n;index++)
l2[index]=;
memset(m1,-,sizeof(m1)); memset(m2,-,sizeof(m2)); for(index=;index<m;index++)
{
memset(t,-,sizeof(t));
p=;q=;
for(s[]=index;p<=q&&m1[index]<;p++)
{
for(k=s[p],j=;j<n&&m1[index]<;j++)
{
if(xiangdeng(l1[k]+l2[j],Gragh_gailv[k][j])&&t[j]<)
{
s[++q]=m2[j];
t[j]=k;
if(s[q]<)
{
for(p=j;p>=;j=p)
{
m2[j]=k=t[j];
p=m1[k];
m1[k]=j;
}
}
}
}
} if(m1[index]<)
{
index--;
double pp=;
for(k=;k<=q;k++)
{
for(j=;j<n;j++)
{
if(t[j]<&&l1[s[k]]+l2[j]-Gragh_gailv[s[k]][j]<pp)
pp=l1[s[k]]+l2[j]-Gragh_gailv[s[k]][j];
}
}
for(j=;j<n;j++)
l2[j]+=t[j]<?:pp;
for(k=;k<=q;k++)
l1[s[k]]-=pp;
}
}
for(index=;index<m;index++)
value_return+=Gragh_gailv[index][m1[index]];
return value_return;
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("shu.txt","r",stdin);
#endif
int t;
scanf("%d",&t);
int cas=;
while(t--)
{
double ans=;
cas++;
scanf("%d%d",&n,&m);
memset(value,,sizeof(value));
for(int i=;i<n;i++)
{
for(int j=;j<m;j++)
scanf("%lf",&value[j][i]);
}
for(int i=;i<m;i+=n)
{
int e=i+n->=m?m-:i+n-;
ans+=fuck(e-i+,n,value+i);
}
printf("Case #%d: %.5f\n",cas,ans);
} return ;
}
hdu5045:带权二分图匹配的更多相关文章
- POJ 2195 Going Home (带权二分图匹配)
POJ 2195 Going Home (带权二分图匹配) Description On a grid map there are n little men and n houses. In each ...
- 运动员最佳匹配问题 KM算法:带权二分图匹配
题面: 羽毛球队有男女运动员各n人.给定2 个n×n矩阵P和Q.P[i][j]是男运动员i和女运动员j配对组成混合双打的男运动员竞赛优势:Q[i][j]是女运动员i和男运动员j配合的女运动员竞赛优势. ...
- 费用流模板(带权二分图匹配)——hdu1533
/* 带权二分图匹配 用费用流求,增加源点s 和 汇点t */ #include<bits/stdc++.h> using namespace std; #define maxn 1000 ...
- POJ 2195 Going Home | 带权二分图匹配
给个地图有人和房子 保证人==房子,每个人移动到房子处需要花费曼哈顿距离的代价 问让人都住在房子里最小代价 显然是个带权二分图最大匹配 转化成以一个网络,规定w是容量,c是代价 1.S向人连边,w=1 ...
- Glorious Brilliance (最短路 + 带权二分图匹配)
这是一道代码大题.一开始读错题意了,然后理解成直接看上去的那种相邻,然后想不通好久!!! 把不同联通的图分离出来,然后先预处理一下形成之后的相邻图的状态,然后根据01确定哪一些是需要更换状态的,然后建 ...
- [NOI2012]美食节——费用流(带权二分图匹配)+动态加边
题目描述 小M发现,美食节共有n种不同的菜品.每次点餐,每个同学可以选择其中的一个菜品.总共有m个厨师来制作这些菜品.当所有的同学点餐结束后,菜品的制作任务就会分配给每个厨师.然后每个厨师就会同时开始 ...
- [HAOI2008]移动玩具(状压&带权二分图)
题目描述 • 一个 4 × 4 的 0/1 矩阵 • 每次可以交换相邻两个元素 • 求从初始状态到目标状态的最小交换次数 输入格式 前四行,每行一个长为 4 的 0/1 字符串,描述初始状态. 后四行 ...
- Luogu 1559 运动员最佳匹配问题(带权二分图最大匹配)
Luogu 1559 运动员最佳匹配问题(带权二分图最大匹配) Description 羽毛球队有男女运动员各n人.给定2 个n×n矩阵P和Q.P[i][j]是男运动员i和女运动员j配对组成混合双打的 ...
- KM(Kuhn-Munkres)算法求带权二分图的最佳匹配
KM(Kuhn-Munkres)算法求带权二分图的最佳匹配 相关概念 这个算法个人觉得一开始时有点难以理解它的一些概念,特别是新定义出来的,因为不知道是干嘛用的.但是,在了解了算法的执行过程和原理后, ...
随机推荐
- String 和 InputStream 互转方式
/** * 利用BufferedReader实现Inputstream转换成String <功能详细描述> * * @param in * @return String */ public ...
- Android利用setLayoutParams在代码中调整布局(Margin和居中)
我们平常可以直接在xml里设置margin,如: <ImageView android:layout_margin="5dip" android:src="@dra ...
- Mysqldb连接Mysql数据库(转)
python操作mysql数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库 ...
- nginx 配置访问正则匹配
server{ listen 80; server_name api.zyy.com; root /var/www/api_zyy; index index.php; location ~ /asse ...
- Electron开发环境部署
Electron开发环境部署 安装node.js 可以从node.js官方网站上获取安装包,并进行安装,安装完可以通过 ndoe -v 指令进行版本查看. 本文的开发环境为node.js 4.4.5. ...
- C#中通过类来继承两个接口,父类实例化接口中的方法,子类继承父类,调用方法
实现了父类继承接口,父类实例化接口的方法,子类继承父类,子类调用父类的方法直接使用 代码如下: using System; using System.Collections.Generic; usin ...
- 在 sys.servers 中找不到服务器的解决办法,自己解决的
一开始提示,在服务器中找不到在 sys.servers 中找不到服务器 'QPAccountsDBLink',先用select * from sys.servers ,发现只能查到一个服务器名称,后 ...
- DNN Module - Responsive Html Tabs 3 介绍
Responsive Html Tabs 模块可以运行于DNN7及以上版本,支持响应式.用户界面较为友好,可以插入自定义的HTML. Demo This is a user-friendly, ful ...
- Android material design support library -- CollapsingToolbarLayout简介
本文是codetrick上material design support library教程的第三篇,主要讲的是CollapsingToolbarLayout的概念和应用方法. 原文链接:Materi ...
- C#操作EXCEL的时候出现“ 无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的COM 对象强制转换为接口类型“Microsoft.Office.Interop.Excel._Application” ”问题
总是报出这个错误,准备放弃COM的组件转投NPOI,后来想起在装这个操作系统的时候,自带装过WPS,后来使用360卸载了.于是想着试一试的心态,重新安装了WPS,结果,问题解决了.你懂的.