codevs 1028 花店橱窗布置
假设以最美观的方式布置花店的橱窗,有F束花,V个花瓶,我们用美学值(一个整数)表示每束花放入每个花瓶所产生的美学效果。为了取得最佳的美学效果,必须使花的摆放取得最大的美学值。
第一行为两个整数F,V(F<=V<=100)
接下来F行每行V个整数,第i行第j个数表示第i束花放入第j个花瓶的美学值。
一个整数,即最大美学值。
2 2
10 0
5 2
12
二分图
km或费用流
本蒟蒻用的费用流 机房某z姓大佬好像在学km 先模几发%%%
#include <cstdio>
#include <queue>
#define N 1000005
#define FWQ 0xefefefef
using namespace std;
struct Edge
{
int next,flow,cost,to;
}edge[N<<];
bool vis[N];
int head[N],cnt=,F,V,fa[N],dis[N];
void ins(int u,int v,int w,int l)
{
edge[++cnt].next=head[u];
edge[cnt].to=v;
edge[cnt].flow=w;
edge[cnt].cost=l;
head[u]=cnt;
}
bool spfa(int s,int t)
{
queue<int>q;
for(int i=s;i<=t;++i) vis[i]=,dis[i]=FWQ;
dis[s]=;
q.push(s);
for(int now;!q.empty();)
{
now=q.front();
q.pop();
vis[now]=;
for(int u=head[now];u;u=edge[u].next)
{
int v=edge[u].to;
if(dis[v]<dis[now]+edge[u].cost&&edge[u].flow)
{
dis[v]=dis[now]+edge[u].cost;
fa[v]=u;
if(!vis[v])
{
vis[v]=;
q.push(v);
}
}
}
}
return dis[t]!=FWQ;
}
int dinic(int s,int t)
{
int ans=;
for(;spfa(s,t);)
{
for(int i=t;i!=s&&i;i=edge[fa[i]^].to)
{
edge[fa[i]].flow--;
edge[fa[i]^].flow++;
}
ans+=dis[t];
}
return ans;
}
int Main()
{
scanf("%d%d",&F,&V);
int s=,t=F+V+;
for(int i=;i<=F;++i) ins(s,i,,),ins(i,s,,);
for(int i=F+;i<=F+V;++i) ins(i,t,,),ins(t,i,,);
for(int a,i=;i<=F;++i)
for(int j=;j<=V;++j)
scanf("%d",&a),ins(i,j+F,,a),ins(j+F,i,,-a);
printf("%d\n",dinic(s,t));
return ;
}
int sb=Main();
int main(int argc,char *argv[]){;}
codevs 1028 花店橱窗布置的更多相关文章
- codevs 1028 花店橱窗布置 (KM)
/*裸地KM*/ #include<iostream> #include<cstdio> #include<cstring> #define maxn 110 #d ...
- codevs 1028 花店橱窗布置 KM算法
题目链接 n个花, m个花瓶, 每个花放到一个花瓶里会产生一个值w[i][j], 一个花只能放到一个花瓶里, 一个花瓶只能放一个花, 求产生的最大值. 带权二分图模板. #include <io ...
- wikioi 1028 花店橱窗布置 最大权匹配
中文题意不描述. 链接:http://wikioi.com/problem/1028/ 这题一开始很裸的最大权二分匹配.但是原来没有接触过,KM的这个最大权不大会.然后一开始以为用最大费用最大流直接就 ...
- [IOI1999]花店橱窗布置(DP路径记录)
题目:[IOI1999]花店橱窗布置 问题编号:496 题目描述 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,从左到右按1到V顺序编号,V ...
- 洛谷P1854 花店橱窗布置 分析+题解代码
洛谷P1854 花店橱窗布置 分析+题解代码 蒟蒻的第一道提高+/省选-,纪念一下. 题目描述: 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定 ...
- RQNOJ PID496/[IOI1999]花店橱窗布置
PID496 / [IOI1999]花店橱窗布置 ☆ 题目描述 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,从左到右按1到V顺序 编号 ...
- 【2018寒假集训 Day2】【2019.5.11更新】【动态规划】花店橱窗布置(FLOWER)
花店橱窗布置(FLOWER) 提交文件名:flower 问题描述: 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,从左到右按1到V顺序编号, ...
- AC日记——花店橱窗布置 codevs 1028
题目描述 Description 假设以最美观的方式布置花店的橱窗,有F束花,V个花瓶,我们用美学值(一个整数)表示每束花放入每个花瓶所产生的美学效果.为了取得最佳的美学效果,必须使花的摆放取得最大的 ...
- codevs1028花店橱窗布置(费用流)
这几天刚学了费用流,找到了这道题来练一练手. 题目: 题目描述 Description 假设以最美观的方式布置花店的橱窗,有F束花,V个花瓶,我们用美学值(一个整数)表示每束花放入每个花瓶所产生的美学 ...
随机推荐
- Linux安装JDK1.7 prm
[转]Linux安装JDK1.7 prm 一.卸载JDK Linux会自带JDK,如果不使用自带版本的话需要卸载. 1.卸载系统自带的jdk版本 查看自带的jdk #rpm -qa | ...
- VMWare安装Ubuntu 16.04
1.Ubuntu安装文件下载 到Ubuntu官网下载安装包,有Bit Torrent.Network installer多种方式下载. 推荐使用中国地区的镜像下载,我是用华科的校园网下载速度是非常感人 ...
- Eclipse与IntelliJ IDEA区别
1.没有workspace,新增modules(Workspace-Project,Project-Module) 2.没有perspectives,自动根据上下文调用相关工具 3.没有保存按钮,自动 ...
- LeetCode: 669 Trim a Binary Search Tree(easy)
题目: Given a binary search tree and the lowest and highest boundaries as L and R, trim the tree so th ...
- javascript的程序控制结构及语句------(2)循环控制语句、跳转语句、对话框
一.循环控制语句 循环语句主要就是在满足条件的情况下反复执行某一个操作,循环控制语句主要包括while语句.do...while语句 和for语句. 1.While语句 语法: While(条件表达式 ...
- Python书写规范
一.python脚本的规范: 每个脚本都有自己的规范,以下的规范不是强制的,但是规范一下,可以使你的脚本规范.易懂.方便使用. #!/usr/bin/env python # -*- coding: ...
- Java流程控制和数组
流程控制 Java中三种基本的流程控制结构:顺序结构,分支结构和循环结构. 顺序结构,任何编程语言中都会有的程序结构. 分支结构:Java语言中常见的两种, if语句和switch语句. if语句,使 ...
- JavaScript引擎基本原理: 优化prototypes
原文链接: JavaScript engine fundamentals: optimizing prototypes 这篇文章介绍了一些JavaScript引擎常用的优化关键点, 并不只是Bened ...
- jq:jQuery库文件jquery.scrollLoading.js使用方法
图片延迟加载,滚动到哪里加载到哪里: 1:头部加载库文件 <script type="text/javascript" src="/js/jquery.scroll ...
- ZipUtils
package com.yundaex.common.exception.util; import java.io.ByteArrayInputStream; import java.io.ByteA ...