HDU5765 Bonds 最小割极
http://acm.hdu.edu.cn/showproblem.php?pid=5765
题意:无向连通图,问每条边在几个最小割极上
思路:用位压形式,表示边的关系。g[1<<i]=1<<x 表示第i个点与哪几个点相连。然后,处理出每种点集和哪些点相连。每个点构成一个连通图,所以枚举当前点集,可以得到所有连通图的点集,计算出数量,用高维前缀和处理所有包含i点的连通块
ans=(所有连通块-同时包含(i,j)的连通块数目)/2 应为以(i,j)为割边的连通块,删除该边以后,数量加倍,所以除2
#include<iostream>
#include<string>
#include<algorithm>
#include<cstdlib>
#include<cstdio>
#include<set>
#include<map>
#include<vector>
#include<cstring>
#include<stack>
#include<cmath>
#include<queue>
#include <conio.h>
#define clc(a,b) memset(a,b,sizeof(a))
#include <bits/stdc++.h>
const int maxn = ;
const int inf=0x3f3f3f3f;
const double pi=acos(-);
typedef long long LL;
using namespace std;
//const LL MOD = 1e9+7;
void fre(){freopen("in.txt","r",stdin);}
inline int lb(int x){return x&(-x);}
const int N=<<; int g[N],a[N],u[],v[];
bool vis[N];
int sum[N];
int main(){
int T;
scanf("%d",&T);
for(int cas=;cas<=T;cas++){
int n,m;
scanf("%d%d",&n,&m);
for(int i=;i<<<n;i++) sum[i]=,g[i]=,vis[i]=false;
for(int i=;i<m;i++){
int x,y;
scanf("%d%d",&x,&y);
u[i]=x,v[i]=y;
g[<<x]|=<<y;
g[<<y]|=<<x;
}
for(int i=;i<<<n;i++) g[i]|=g[i-lb(i)]|g[lb(i)];
int l=,r=;
for(int i=;i<n;i++) vis[a[r++]=<<i]=true;
while(l<r){
int c=a[l++];
int res=g[c]^(g[c]&c);
while(res){
int tem=lb(res)|c;
if(!vis[tem]) vis[a[r++]=tem]=true;
res-=lb(res);
}
}
int all=;
for(int i=;i<<<n;i++){
int j=(<<n)-;
j^=i;
if(vis[i]&&vis[j]){
sum[i]++,sum[j]++,all++;
}
}
for(int j=;j<n;j++){
for(int i=(<<n)-;i>=;i--)
if(!(i&(<<j))) sum[i]+=sum[i^(<<j)];
}
printf("Case #%d: ",cas);
for(int i=;i<m;i++){
printf("%d",(all-sum[(<<u[i])|(<<v[i])])/);
if(i==m-) cout<<endl;
else cout<<" ";
}
}
return ; }
HDU5765 Bonds 最小割极的更多相关文章
- [洛谷]P3729 曼哈顿计划EX(最小割树/等价流树)
题目大意:给出一张n个点m条边的无向图,每个点有点权,q次询问,每次给出k,要求选出若干个点点权之和不小于k,求一个最大的值x,使得选出的点中任意两点之间至少有x条互不相交的链.(n<=550, ...
- bzoj 2039: [2009国家集训队]employ人员雇佣【最小割】
一开始在https://www.cnblogs.com/lokiii/p/10770919.html基础上连(i,j,b[i][j])建了个极丑的图T掉了--把dinic换成isap勉强能卡过 首先因 ...
- BZOJ 1391: [Ceoi2008]order [最小割]
1391: [Ceoi2008]order Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 1509 Solved: 460[Submit][Statu ...
- BZOJ-2127-happiness(最小割)
2127: happiness(题解) Time Limit: 51 Sec Memory Limit: 259 MBSubmit: 1806 Solved: 875 Description 高一 ...
- BZOJ-2561-最小生成树 题解(最小割)
2561: 最小生成树(题解) Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1628 Solved: 786 传送门:http://www.lyd ...
- BZOJ3438 小M的作物(最小割)
题目 Source http://www.lydsy.com/JudgeOnline/problem.php?id=3438 Description 小M在MC里开辟了两块巨大的耕地A和B(你可以认为 ...
- 最大流-最小割 MAXFLOW-MINCUT ISAP
简单的叙述就不必了. 对于一个图,我们要找最大流,对于基于增广路径的算法,首先必须要建立反向边. 反向边的正确性: 我努力查找了许多资料,都没有找到理论上关于反向边正确性的证明. 但事实上,我们不难理 ...
- bzoj1412最小割
太羞耻了,m n写反了(主要是样例n m相等) 建图方法比较高(ji)端(chu),对于可以加栅栏的地方连上1的边,然后求最小割即可 为了让代码优(suo)美(duan),我写了一个check,避免多 ...
- 【BZOJ1497】[NOI2006]最大获利 最小割
裸的最小割,很经典的模型. 建图:要求总收益-总成本最大,那么将每条弧与源点相连,流量为成本,每个收益与汇点相连,流量为收益,然后每条弧与它所能到达的收益相连,流量为inf. 与源点相连的是未被选中的 ...
随机推荐
- 用javascript编写的简单计算器
老师布置的任务,弄了一天,总算把代码搞出来了,作为菜鸟给自己一点小掌声,传说中JS是很简单的,但是要写出一个程序真的很需要锻炼,我的锻炼实在是太少了,天天DOTA中.呵呵(做了些小注释)大家应该能看懂 ...
- tomcat升级问题
在本地开发使用myeclipse6.5自带tomcat,部署到服务器上是7.x,导致jsp页面无法解析. 所以想着在本地也使用tomcat7部署,myeclipse6.5不支持tomcat7.x,到网 ...
- KMP入门题目[不定期更新]
HDU 1711 Number Sequence(模板题) #include <cstdio> ; ; int N, M; int textS[MAXN]; int tarS[MAXL]; ...
- CFF前端沙龙总结
一. -OOCSS + Sass ——大漠 1. OOCSS 结构<=>皮肤 分离 容器<=>内容 分离 2. Sass 工具.处理器 SCSS(CSS风格)<=> ...
- 面试题_48_to_65_Java 集合框架的面试题
这部分也包含数据结构.算法及数组的面试问题 48) List.Set.Map 和 Queue 之间的区别(答案)List 是一个有序集合,允许元素重复.它的某些实现可以提供基于下标值的常量访问时间,但 ...
- firefox较慢
Ctrl+Shift+Delete,清楚缓存.浏览历史.下载,效果不是很明显. 地址栏输入about:support,打开配置文件夹,删掉配置文件夹里的places.sqlite,urlclassif ...
- linux关机和重启的命令[转]
如果你很急着关机或者重启话,那么关机就是init 0,重启就是init 6或者reboot Linux中常用的关机和重新启动命令有shutdown.halt.reboot以及init,它们都可以达到关 ...
- hdu 4952 Number Transformation (找规律)
题目链接 题意:给你个x,k次操作,对于第i次操作是:要找个nx,使得nx是>=x的最小值,且能整除i,求k次操作后的数 分析: 经过打表找规律,会发现最后的x/i,这个倍数会趋于一个固定的值, ...
- abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
abstract的method不可以是static的,因为抽象的方法是要被子类实现的,而static与子类扯不上关系! native方法表示该方法要用另外一种依赖平台的编程语言实现的,不存在着被子类实 ...
- 简单实现WPF界面控件换肤效果
效果如下如图:选择皮肤颜色 1.首先新建一个如图界面: 选择匹夫下拉框Xaml代码如下:三种颜色选项,并触发SelectionChanged事件 <ComboBox Height="2 ...