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)算法求带权二分图的最佳匹配 相关概念 这个算法个人觉得一开始时有点难以理解它的一些概念,特别是新定义出来的,因为不知道是干嘛用的.但是,在了解了算法的执行过程和原理后, ...
随机推荐
- 11636 - Hello World! (贪心法)
Problem A Hello World! Input: Standard Input Output: Standard Output When you first made the comput ...
- Parsing XML in J2ME
sun的原文,原文地址是http://developers.sun.com/mobility/midp/articles/parsingxml/. by Jonathan KnudsenMarch 7 ...
- Codeforces Round #FF (Div. 2):Problem A - DZY Loves Hash
A. DZY Loves Hash time limit per test 1 second memory limit per test 256 megabytes input standard in ...
- FoxOne---一个快速高效的BS框架
FoxOne---一个快速高效的BS框架--(1) FoxOne---一个快速高效的BS框架--(2) FoxOne---一个快速高效的BS框架--(3) FoxOne---一个快速高效的BS框架-- ...
- Android模块化编程之引用本地的aar
随着项目越来越多,代码的复用就变得异常重要,这时候就要进行模块化编程,就是把一些通用的组件或者类库做成单独的模块,其他项目直接进行引用就好.针对Android开发最常见的就是Android Libra ...
- USB HID Report Descriptor 报告描述符详解
Report descriptors are composed of pieces of information. Each piece of information is called an Ite ...
- Menu( 菜单)
一. 加载方式菜单组件通常用于快捷菜单,在加载方式上,通过 class 或 JS 进行设置为菜单组件.然后,再通过 JS 事件部分再响应.//class 加载方式<div id="bo ...
- sqlserver中的锁与事务
以下内容整理自: SQL Server中的锁 SQLSERVER中的元数据锁 SQLSERVER中的锁资源类型 浅谈sqlserver中的事务和锁 锁的分类 1.从数据库角度 独占锁(排它锁 X) 独 ...
- sql练习总结(一)
最近在学sql,遇到了这么一道题: 写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的. 把所能想到的实现方法都做了一遍: 1.用 ...
- MRC和ARC混编
iOS5.0以后就开始可以使用ARC( Automatic Reference Counting:自动引用计数)来代替之前的MRC(Manual Reference Counting:人工引用计数). ...