做法就是KM算法

我的建图过程如下:

把食品供应点拆开,不要让他成为一个点,如果一个食品供应点能够供应2个人,那就把它拆开成两个点,由于食品供应点的所有人数之和是等于员工数的,所以刚好构成一个两边点数一样的一个二分图,然后从员工到供应点连边的边权就是喜好度,然后再用KM算法进行最大带权匹配就好了,最后建的图是一个M*M的矩阵,由于M小于300,所以KM算法能够过。

也见到过别人用DP过掉的,不过没有想通。。DP一直很弱。。

话说我已经退役了,这个博客很少用了。。

#include

#include

#include

#define inf 99999999

#define maxn 305

using namespace std;

int n,m;

int a[maxn];

int map[maxn][maxn];

int temp[maxn][maxn];

int link[maxn];

int lx[maxn],ly[maxn];

bool x[maxn],y[maxn];

bool dfs(int u)

{

int i;

x[u]=true;

for(i=1;i<=n;i++)

{

if(lx[u]+ly[i]==map[u][i]&&!y[i])

{

y[i]=true;

if(link[i]==-1||dfs(link[i]))

{

link[i]=u;

return true;

}

}

}

return false;

}

int main()

{

int i,j,k,num;

while(scanf("%d%d",&m,&n)!=EOF)

{

for(i=1;i<=m;i++)

scanf("%d",&a[i]);

for(i=1;i<=n;i++)

for(j=1;j<=m;j++)

scanf("%d",&temp[i][j]);

for(i=1;i<=n;i++)

{

num=0;

for(j=1;j<=m;j++)

{

for(k=1;k<=a[j];k++)

{

num++;

map[i][num]=temp[i][j];

}

}

}

memset(x,0,sizeof(x));

memset(y,0,sizeof(y));

memset(link,-1,sizeof(link));

memset(ly,0,sizeof(ly));

for(i=0;i

lx[i]=inf;

for(k=1;k<=n;k++)

{

while(1)

{

memset(x,0,sizeof(x));

memset(y,0,sizeof(y));

if(dfs(k))

break;

int d=inf;

for(i=1;i<=n;i++)

if(x[i])

for(j=1;j<=n;j++)

if(!y[j]&&lx[i]+ly[j]-map[i][j]

d=lx[i]+ly[j]-map[i][j];

for(i=1;i<=n;i++)

if(x[i])

lx[i]=lx[i]-d;

for(i=1;i<=n;i++)

if(y[i])

ly[i]=ly[i]+d;

}

}

int ans1=0,ans2=0;

for(i=1;i<=n;i++)

ans1=ans1+map[link[i]][i];

printf("%d\n",ans1);

}

return 0;

}

百度之星作为座位调整java_百度之星2006年初赛 座位调整相关推荐

  1. 搜索引擎大调整:百度出“惊雷算法”后360搜索又将上线“八戒算法”

    可能大家都也听说了百度在11月20日发出的算法预告"惊雷算法",而就在昨天,11月29日,360搜索站长平台发布"八戒算法"将在12月初上线,旨在打击低质量站群 ...

  2. 聚观早报|饿了么星选停止运营;百度2022财报全年营收1236.75亿元

    今日要闻:饿了么星选停止运营:百度2022财报全年营收1236.75亿元:微软收购暴雪获力挺:全国首例!这一代练平台被叫停:现代汽车已开始在美国生产电动汽车 饿了么星选停止运营 2 月 22 日,饿了 ...

  3. 2019年度星标大奖重磅揭晓 百度APP携手ZOL“智见未来”

    12月26日,由百度APP与ZOL联手举办的"智见未来"峰会--暨2019年度星标大奖颁奖盛典在北京举行.此次盛典行业领袖.产业专家齐聚一堂,共同探讨科技产业最新趋势及最热产品话题 ...

  4. 从内部架构大调整看百度2015年的战略方向

    调整 李彦宏发内部邮件称,将现有业务群组和事业部整合为三大事业群组. 大概的调整是这样的: 1.移动云事业部和LBS事业部合并为移动服务事业群组,由副总裁李明远.副总裁刘骏负责,刘骏转向李明远汇报; ...

  5. 网站排名全掉了怎么办,百度算法调整,百度关键词排名波动怎么解决?

    导语:企业建立网站后,想要得到更高的自然流量,SEO肯定是最好的方法之一今天我们就聊聊: 网站排名全掉了怎么办,学会这几招轻松解决问题!百度算法调整,百度关键词排名波动怎么解决? 网站排名全掉了怎么办 ...

  6. 百度统计接口 java_百度统计API的使用

    百度统计API的使用 在搭建自己博客的时候,希望自己能有个日志系统,能够看到PV.UV等信息,同时自己也搭建了个ELK系统,可惜服务器配置太低(1GHZ+1G内存),根本运行不起来.只能使用第三方的日 ...

  7. 百度地图批量精度和维度Java_【百度地图API】如何批量转换为百度经纬度

    摘要: 百度地图API的官网上提供了常用坐标转换的示例.但是,一次只能转换一个,真的非常麻烦!!这里结合了官方的示例,自制一个批量转换工具,供大家参考. ----------------------- ...

  8. BAT 再无百度!互联网十强还会有百度吗?

    点击"开发者技术前线",选择"星标?" 13:21 在看|星标|留言,  真爱 燃财经(ID:rancaijing)原创 作者 | 闫丽娇 苏琦 编辑 | 苏琦 ...

  9. 百度推广——搜索营销新视角(百度官方出品,俞敏洪、吴晓波、徐雷力荐!)

    百度认证系列丛书 百度推广--搜索营销新视角(百度官方出品,俞敏洪.吴晓波.徐雷力荐!) 百度营销研究院 著 ISBN 978-7-121-20311-4 出版年月:2013年6月出版 定价:59.0 ...

最新文章

  1. 《强化学习周刊》第35期:强化学习在智能交通中的最新应用
  2. 通过tomcat实现多域名配置
  3. u盘读写测试_如何提高u盘读写速度 提高u盘读写速度方法【详细步骤】
  4. 推荐几个配色和图标网站
  5. 初学echart的简单使用
  6. 关于生活,可能有用的40条建议
  7. idea怎么找到路径下面的js_怎么找到Win7桌面存储路径?怎么把Win7桌面转到D盘?...
  8. mysql 6.17,mysql小结篇2(17.6.27)
  9. mysql双主日志_MySQL双主双从配置开启二进制日志
  10. 22021成都市高考成绩查询,四川大学本科教务系统登录
  11. 解决删除symantec,需要输入密码的问题
  12. csu1164 Dominating
  13. RocketMQ消息存储学习
  14. 无需关注微信公众号破解openwrite验证
  15. 微信PC端浏览器内置浏览器
  16. python爬12306_爬虫12306返回数据怎么解析
  17. 通过keil使用汇编语言生成二进制文件,并使用vivado仿真cortexm0处理器
  18. 必知C++算法之排列组合基本操作
  19. 如何用python画一束花_如何在AI里绘制一束春天的花朵
  20. iOS H5 获取麦克风权限

热门文章

  1. python批量裁剪图片_用Python写了一个图片格式批量处理工具
  2. 大数据与大量数据处理_我们如何处理和使用如此大量的数据?
  3. 程序员里面开源_如何以开源程序员的身份开始
  4. 智慧社区互动教室_利用研究与社区互动
  5. 如何击败腾讯_要击败这个新的电子游戏,请对其重新编程
  6. 前端:HTML/02/排版标记,块元素,行内元素,html字符实体,列表标记,图片标记
  7. es6 SharedArrayBuffer对象
  8. es6 Promise.done(),Promise.finally()
  9. 厦门大学计算机学硕复试,【图片】一战厦大计算机上岸,经验帖。慢更【考研吧】_百度贴吧...
  10. CAN笔记(21) 服务数据对象