思想:缩点+sap

Max,t还可以缩小,优化,高数课写的,有点丑,暂时懒得改。

#include<cstdio>
#include<cstdlib>
#include<iostream>
#include<memory.h>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
const int maxm=;
const int inf=0x7fffffff;
int vd[maxm],dis[maxm];
int Laxt[maxm],Next[maxm],To[maxm],V[maxm];
int n,m,cnt,ans,s,t;
int a[maxm],c[maxm];
void _update()
{
memset(Laxt,,sizeof(Laxt));
memset(dis,,sizeof(dis));
memset(vd,,sizeof(vd));
memset(a,,sizeof(a));
memset(c,,sizeof(c));
cnt=;
ans=;
}
void _add(int u,int v,int c)
{
Next[cnt]=Laxt[u];
Laxt[u]=cnt;
To[cnt]=v;
V[cnt++]=c;
Next[cnt]=Laxt[v];
Laxt[v]=cnt;
To[cnt]=u;
V[cnt++]=;
}
int _sap(int u,int flow)
{
int tmp,delta=;
if(flow==||u==t) return flow;
for(int i=Laxt[u];i;i=Next[i])
{
if(dis[To[i]]+==dis[u]&&V[i]>){
tmp=_sap(To[i],min(flow-delta,V[i]));
V[i]-=tmp;
V[i^]+=tmp;
delta+=tmp;
if(delta==flow||dis[s]>t) return delta;
}
}
vd[dis[u]]--;
if(vd[dis[u]]==) dis[s]=t+;
vd[++dis[u]]++;
return delta;
}
int main()
{
int n,m,i,j,Max,x;
while(~scanf("%d%d",&n,&m))
{
_update();
Max=;
for(i=;i<=n;i++){
int tmp=;
for(j=;j<=m;j++) {
scanf("%d",&x);
tmp=tmp*+x;
}
if(tmp>Max) Max=tmp;
a[tmp]++;
}
s=;t=Max+m+;
for(i=;i<=m;i++) scanf("%d",&c[i]);
for(i=;i<=Max;i++){
if(a[i]>) {
_add(,i,a[i]);
int k=m,p=i;
while(k&&p){
int tmp=p%;
p/=;
if(tmp>) _add(i,Max+k,inf);
k--;
}
}
}
for(i=;i<=m;i++) _add(Max+i,t,c[i]);
while(dis[s]<=t) {
ans+=_sap(s,inf);
}
if(ans==n) printf("YES\n");
else printf("NO\n");
}
return ;
}

HDU3605 Escape的更多相关文章

  1. HDU3605 Escape —— 二分图多重匹配

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3605 Escape Time Limit: 4000/2000 MS (Java/Others)    ...

  2. hdu3605 Escape 二分图多重匹配/最大流

    2012 If this is the end of the world how to do? I do not know how. But now scientists have found tha ...

  3. HDU- 3605 - Escape 最大流 + 二进制压位

    HDU - 3605 : acm.hdu.edu.cn/showproblem.php?pid=3605 题目: 有1e5的的人,小于10个的星球,每个星球都有容量,每个人也有适合的星球和不适合的星球 ...

  4. HDU3605 Escape(最大流判满流 + 状压)

    [题意]: 有N个人,M个星球,给N*M矩阵,(i, j)为1代表i可以到j星球,0代表不能,问是否能把所有人转移走. [思路]: N的范围为1e6,如果让每个人与星球连边一定TLE,再根据矩阵每一行 ...

  5. HDU3605:Escape(状态压缩+最大流)

    Escape Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Subm ...

  6. HDU 3605 Escape (网络流,最大流,位运算压缩)

    HDU 3605 Escape (网络流,最大流,位运算压缩) Description 2012 If this is the end of the world how to do? I do not ...

  7. ACM: Gym 101047E Escape from Ayutthaya - BFS

    Gym 101047E Escape from Ayutthaya Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%I6 ...

  8. 简单明了区分escape、encodeURI和encodeURIComponent

    一.前言 讲这3个方法区别的文章太多了,但是大部分写的都很绕.本文试图从实践角度去讲这3个方法. 二.escape和它们不是同一类 简单来说,escape是对字符串(string)进行编码(而另外两种 ...

  9. c#模拟js escape方法

    public static string Escape(string s) { StringBuilder sb = new StringBuilder(); byte[] ba = System.T ...

随机推荐

  1. Java序列化详解

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt228 以前在使用hibernate时候,domain域模型的JavaBean ...

  2. Hashtable、synchronizedMap、ConcurrentHashMap 比较

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp18 Hashtable.synchronizedMap.Concurren ...

  3. Liunx-常用命令的总结(5)

    cd     ../dir        上一节目录下dir目录 cd -                    返回上次目录 ifconfig            查看IP地址 sudo   if ...

  4. JAVA基础-集合(一)

    一.结构 Collection接口为一些单列集合的根接口,其常用子接口为List接口.Set接口.List接口常用实现子类为ArrayList(数组)LinkedList(链表).Set接口常用实现子 ...

  5. Git简易参考手册

    如果用过mercury(HG),那么理解Git的运作方式就轻松多了.两者是相同的分布式版本管理工具,只是某些功能有着细微的差别 - Git的管理粒度更加细腻,因此操作上也比HG复杂一点.例如,修改文件 ...

  6. 移动端图片放大滑动查看-插件photoswipe的使用

    最近在开发项目的时候,遇到一个需求,需要移动端实现放大查看图片的功能,然后我就在网上搜索了一下资料,看到了photoswipe这个插件,后来试了试,确实挺好用的,它可以实现手势放大缩小查看图片,左右滑 ...

  7. 【★】EIGRP终极解析!

    EIGRP的思维导图 如图,我想采用一种全新的"框架式"教学法,或者叫"盖楼",旨在利用抽象的外部接口,分类分层地介绍各个机制之间的关系.其实任何学习到最后都 ...

  8. 【Alpha】第六次Daily Scrum Meeting

    一.今日站立式会议照片 二.会议内容 1.具体讨论了各个功能模块如何实现所使用的函数方法,以及确定各功能编写的详易与主次之分.其中对礼物挑选的各个分类条件做了修改与确认.并考虑邀请同学对已构建出的简易 ...

  9. 【Beta】Daily Scrum Meeting——Day4

    站立式会议照片 1.本次会议为第四次Meeting会议: 2.本次会议在早上9:35,在陆大2楼机房召开,本次会议为25分钟讨论今天要完成的任务以及接下来的任务安排. 燃尽图 每个人的工作分配 成 员 ...

  10. 扫雷游戏制作过程(C#描述):第五节、菜单操作(续)

    前言 这里给出教程原文地址. 该项目已经放在github上托管. 发布版已经分享到百度网盘 菜单操作(续) 接着节前一章节的内容,我们继续完善菜单栏的功能. 我们首先,先完善Rank的选项,我们希望我 ...