建图   源点    ->   1024类人   ->   星球   ->     汇点

权             每类人数目       星球容量     星球容量

列举 0~1024  一位是1 那么和对应的星球建边

 #include<stdio.h>
#include<algorithm>
#include<string.h>
#include<queue>
#include<math.h> using namespace std;
#define inf 100000000
int z[];
int vis[];
int head[];
int y[];
int cnt,S,T;
struct edg
{
int w,next,to; }x[];
void add(int u,int v,int w)
{
x[cnt].next=head[u];
x[cnt].to=v;
x[cnt].w=w;
head[u]=cnt++;
}
int bfs()
{
memset(vis,-,sizeof(vis));
queue<int>q1;
q1.push(S);
vis[S]=;
int j; while(!q1.empty())
{
int now=q1.front();
q1.pop();
for(j=head[now];j!=-;j=x[j].next)
{
if(vis[x[j].to]<&&x[j].w)
{ vis[x[j].to]=vis[now]+;
q1.push(x[j].to);
}
}
}
return vis[T]!=-;
}
int dfs(int u,int w)
{
int ans=; if(u==T)
return w;
int j;
for(j=head[u];j!=-;j=x[j].next)
{
if(vis[x[j].to]==vis[u]+&&x[j].w)
{ int b=dfs(x[j].to,min(w-ans,x[j].w));
ans=ans+b;
x[j].w-=b;
x[j^].w+=b;
}
}
return ans;
}
int main()
{
int n,m; while(scanf("%d%d",&n,&m)!=EOF)
{
int i,j;
memset(z,,sizeof(z)); for(i=;i<=n;i++)
{
int b=; for(j=;j<=m;j++)
{
int a;
scanf("%d",&a);
if(a==)b=b+(<<(j-));
}
z[b]++;
}
for(i=;i<=m;i++)
scanf("%d",&y[i]);
S=;
T=; //这2个点只要没用过就行
cnt=;
memset(head,-,sizeof(head));
for(i=;i<=;i++)
{
if(z[i])
{
add(S,i,z[i]);
add(i,S,);
}
} //0 1024 人的下标 1025 1035 星球下标
for(i=;i<=;i++)
{
if(z[i])
{
for(j=;j<=m;j++)
{
if(<<(j-)&i)
{
add(i,+j,y[j]);
add(+j,i,);
}
}
}
} for(j=;j<=m;j++)
{
add(+j,T,y[j]);
add(T,+j,);
} int ans=;
while(bfs())
ans+=dfs(S,inf);
if(ans>=n)
printf("YES\n");
else
printf("NO\n");
} return ;
}

网络流 HDU 3605的更多相关文章

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

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

  2. Hdu 3605 Escape (最大流 + 缩点)

    题目链接: Hdu 3605  Escape 题目描述: 有n个人要迁移到m个星球,每个星球有最大容量,每个人有喜欢的星球,问是否所有的人都能迁移成功? 解题思路: 正常情况下建图,不会爆内存,但是T ...

  3. HDU 3605 Escape(状压+最大流)

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

  4. 网络流 HDU 3549 Flow Problem

    网络流 HDU 3549 Flow Problem 题目:pid=3549">http://acm.hdu.edu.cn/showproblem.php?pid=3549 用增广路算法 ...

  5. 网络流 E - Escape HDU - 3605

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

  6. HDU 3605:Escape(最大流+状态压缩)

    http://acm.hdu.edu.cn/showproblem.php?pid=3605 题意:有n个人要去到m个星球上,这n个人每个人对m个星球有一个选择,即愿不愿意去,"Y" ...

  7. HDU(3605),二分图多重匹配

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

  8. HDU 3605

    http://acm.hdu.edu.cn/showproblem.php?pid=3605 用最大流做的,G++超时,C++可以过,看别人写的叫二分图多重匹配,还不会这玩意一会学学 显然的最大流模型 ...

  9. HDU 3605 Escape(状态压缩+最大流)

    http://acm.hdu.edu.cn/showproblem.php?pid=3605 题意: 有n个人和m个星球,每个人可以去某些星球和不可以去某些星球,并且每个星球有最大居住人数,判断是否所 ...

随机推荐

  1. 树网的核[树 floyd]

    描述 设T=(V, E, W) 是一个无圈且连通的无向图(也称为无根树),每条边到有正整数的权,我们称T为树网(treebetwork),其中V,E分别表示结点与边的集合,W表示各边长度的集合,并设T ...

  2. 利用注解进行sql反射代码示例

    @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) public @interface Table { String val ...

  3. Stunnel使用

     建立加密隧道 使用 Stunnel 建立加密隧道 附件中的 Server 和 Clinet 都是已经配置好了的,只需修改 Server 的 stunnel.conf 的 connect 为实际的ip ...

  4. AlertDialog禁止返回键

    android 如何让dialog不消失,即使是用户按了返回键dialog也不消失 解决的问题:软件提示升级的dialog时候,用户有可能按了返回键,但是现在的需求是用户只能按"确定升级&q ...

  5. git push上传代码到gitlab上,报错401或403

    之前部署的gitlab代码托管平台,采用ssh方式连接gitlab,在客户机上产生公钥上传到gitlab的SSH-Keys里,则git clone下载和git push上传都没问题,这种方式很安全. ...

  6. iOS运行时Runtime浅析

    运行时是iOS中一个很重要的概念,iOS运行过程中都会被转化为runtime的C代码执行.例如[target doSomething];会被转化成objc)msgSend(target,@select ...

  7. Linux中 groupadd 和 useradd 的命令说明

    groupadd [options] group 说明The groupadd command creates a new group account using the values specifi ...

  8. oracle小知识总结

    1,表列的五种约束 not null, unique,primary key, foreign key, check 2,权限分配 grant 权限 on 表 to 用户 3,表和视图的区别 视图是一 ...

  9. Hilbert-Huang Transform: matlab 希尔伯特-黄变换: matlab实现

    关于Hilbert-Huang的matlab实现,材料汇总,比较杂...感谢所有网络上的贡献者们:) 核心:以下代码计算HHT边际谱及其对应频率 工具包要求:G-Rilling EMD Toolbox ...

  10. FSL - MELODIC

    Source: http://fsl.fmrib.ox.ac.uk/fsl/fslwiki/MELODIC; https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/MELODI ...