时间限制: 1 s
 空间限制: 128000 KB
 题目等级 : 钻石 Diamond
题目描述 Description

假设以最美观的方式布置花店的橱窗,有F束花,V个花瓶,我们用美学值(一个整数)表示每束花放入每个花瓶所产生的美学效果。为了取得最佳的美学效果,必须使花的摆放取得最大的美学值。

输入描述 Input Description

第一行为两个整数F,V(F<=V<=100)

接下来F行每行V个整数,第i行第j个数表示第i束花放入第j个花瓶的美学值。

输出描述 Output Description

一个整数,即最大美学值。

样例输入 Sample Input

2 2

10 0

5 2

样例输出 Sample Output

12

数据范围及提示 Data Size & Hint

二分图

km或费用流

本蒟蒻用的费用流 机房某z姓大佬好像在学km 先模几发%%%

屠龙宝刀点击就送

  1. #include <cstdio>
  2. #include <queue>
  3. #define N 1000005
  4. #define FWQ 0xefefefef
  5. using namespace std;
  6. struct Edge
  7. {
  8. int next,flow,cost,to;
  9. }edge[N<<];
  10. bool vis[N];
  11. int head[N],cnt=,F,V,fa[N],dis[N];
  12. void ins(int u,int v,int w,int l)
  13. {
  14. edge[++cnt].next=head[u];
  15. edge[cnt].to=v;
  16. edge[cnt].flow=w;
  17. edge[cnt].cost=l;
  18. head[u]=cnt;
  19. }
  20. bool spfa(int s,int t)
  21. {
  22. queue<int>q;
  23. for(int i=s;i<=t;++i) vis[i]=,dis[i]=FWQ;
  24. dis[s]=;
  25. q.push(s);
  26. for(int now;!q.empty();)
  27. {
  28. now=q.front();
  29. q.pop();
  30. vis[now]=;
  31. for(int u=head[now];u;u=edge[u].next)
  32. {
  33. int v=edge[u].to;
  34. if(dis[v]<dis[now]+edge[u].cost&&edge[u].flow)
  35. {
  36. dis[v]=dis[now]+edge[u].cost;
  37. fa[v]=u;
  38. if(!vis[v])
  39. {
  40. vis[v]=;
  41. q.push(v);
  42. }
  43. }
  44. }
  45. }
  46. return dis[t]!=FWQ;
  47. }
  48. int dinic(int s,int t)
  49. {
  50. int ans=;
  51. for(;spfa(s,t);)
  52. {
  53. for(int i=t;i!=s&&i;i=edge[fa[i]^].to)
  54. {
  55. edge[fa[i]].flow--;
  56. edge[fa[i]^].flow++;
  57. }
  58. ans+=dis[t];
  59. }
  60. return ans;
  61. }
  62. int Main()
  63. {
  64. scanf("%d%d",&F,&V);
  65. int s=,t=F+V+;
  66. for(int i=;i<=F;++i) ins(s,i,,),ins(i,s,,);
  67. for(int i=F+;i<=F+V;++i) ins(i,t,,),ins(t,i,,);
  68. for(int a,i=;i<=F;++i)
  69. for(int j=;j<=V;++j)
  70. scanf("%d",&a),ins(i,j+F,,a),ins(j+F,i,,-a);
  71. printf("%d\n",dinic(s,t));
  72. return ;
  73. }
  74. int sb=Main();
  75. int main(int argc,char *argv[]){;}

codevs 1028 花店橱窗布置的更多相关文章

  1. codevs 1028 花店橱窗布置 (KM)

    /*裸地KM*/ #include<iostream> #include<cstdio> #include<cstring> #define maxn 110 #d ...

  2. codevs 1028 花店橱窗布置 KM算法

    题目链接 n个花, m个花瓶, 每个花放到一个花瓶里会产生一个值w[i][j], 一个花只能放到一个花瓶里, 一个花瓶只能放一个花, 求产生的最大值. 带权二分图模板. #include <io ...

  3. wikioi 1028 花店橱窗布置 最大权匹配

    中文题意不描述. 链接:http://wikioi.com/problem/1028/ 这题一开始很裸的最大权二分匹配.但是原来没有接触过,KM的这个最大权不大会.然后一开始以为用最大费用最大流直接就 ...

  4. [IOI1999]花店橱窗布置(DP路径记录)

    题目:[IOI1999]花店橱窗布置 问题编号:496 题目描述 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,从左到右按1到V顺序编号,V ...

  5. 洛谷P1854 花店橱窗布置 分析+题解代码

    洛谷P1854 花店橱窗布置 分析+题解代码 蒟蒻的第一道提高+/省选-,纪念一下. 题目描述: 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定 ...

  6. RQNOJ PID496/[IOI1999]花店橱窗布置

    PID496 / [IOI1999]花店橱窗布置 ☆   题目描述 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,从左到右按1到V顺序 编号 ...

  7. 【2018寒假集训 Day2】【2019.5.11更新】【动态规划】花店橱窗布置(FLOWER)

    花店橱窗布置(FLOWER) 提交文件名:flower 问题描述: 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,从左到右按1到V顺序编号, ...

  8. AC日记——花店橱窗布置 codevs 1028

    题目描述 Description 假设以最美观的方式布置花店的橱窗,有F束花,V个花瓶,我们用美学值(一个整数)表示每束花放入每个花瓶所产生的美学效果.为了取得最佳的美学效果,必须使花的摆放取得最大的 ...

  9. codevs1028花店橱窗布置(费用流)

    这几天刚学了费用流,找到了这道题来练一练手. 题目: 题目描述 Description 假设以最美观的方式布置花店的橱窗,有F束花,V个花瓶,我们用美学值(一个整数)表示每束花放入每个花瓶所产生的美学 ...

随机推荐

  1. channelartlist中autoindex无效的解决方法

    {dede:channelartlist}中有使用autoindex无效的解决方法 在设计频道首页的时候,使用{dede:channelartlist}标签时,有很多朋友想做一些高级的开发,让重复的频 ...

  2. Unobtrusive Javascript有三层含义

    一是在HTML代码中不会随意的插入Javsscript代码,只在标签中加一些额外的属性值,然后被引用的脚本文件识别和处理: 二是通过脚本文件所增加的功能是一种渐进式的增强,当客户端不支持或禁用了Jav ...

  3. 基于Go实现的秒杀系统

    这是基于Go语言的一个秒杀系统,这个系统分三层,接入层.逻辑层.管理层.项目源码:https://github.com/BlueSimle/SecKill 系统架构图 秒杀接入层 从Etcd中加载秒杀 ...

  4. WSAData是个什么结构体用什么用

    WSAData机构体如下 功能是:存放windows socket初始化信息.struct WSAData { WORD wVersion; WORD wHighVersion; char szDes ...

  5. win10怎样彻底关闭windows Defender

    首先,我们在电脑中需要进入注册表编辑器进行修改,win10电脑进入windows Defender可以有两种方式,第一种是通过电脑自带的小娜进入,第二种则是常规的win加r.   不管使用哪种方式,首 ...

  6. IT兄弟连 JavaWeb教程 创建异步请求对象

    异步请求对象:XMLHttpRequest对象,通过该对象向服务器发送异步请求.它是异步请求的技术,所有的现代浏览器(IE7+.FireFox.Chrome.Safari以及Opera)都支持,老版本 ...

  7. Kali Linux 工具清单

    Kali Linux 工具清单 Information Gathering acccheck ace-voip Amap Automater bing-ip2hosts braa CaseFile C ...

  8. layui实现下拉分类多级

    Layui tree 下拉菜单树   1.效果: 2.html  代码: <!DOCTYPE html> <html> <head> <meta charse ...

  9. STP-9-处理RSTP中的拓扑变化

    STP能识别四种不同的拓扑变化事件, 而RSTP只有当非边界端口从非转发状态变为转发状态才认为发生了拓扑变化事件 因为刚变为转发状态的端口可以为一些mac地址提供比之前更好的路径,CAM表需要更新.失 ...

  10. Codeforces Round #566 (Div. 2) B. Plus from Picture

    链接: https://codeforces.com/contest/1182/problem/B 题意: You have a given picture with size w×h. Determ ...