博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
「luogu2765」魔术球问题
阅读量:5274 次
发布时间:2019-06-14

本文共 2020 字,大约阅读时间需要 6 分钟。

1 #include
2 using namespace std; 3 const int N=60,M=4010,oo=2e9; 4 int n,ss=4000,tt=4001,f[M]; 5 bool vis[M]; 6 struct Edge{ 7 int from,to,flow,cap; 8 Edge(int _from=0,int _to=0,int _flow=0,int _cap=0):from(_from),to(_to),flow(_flow),cap(_cap){} 9 };10 int edge_tot;11 Edge edge[100500];12 vector
point[M];13 void add_edge(int f,int t,int c){14 edge[edge_tot]=Edge(f,t,0,c);15 point[f].push_back(edge_tot++);16 edge[edge_tot]=Edge(t,f,0,0);17 point[t].push_back(edge_tot++);18 return;19 }20 int level[M];21 bool bfs(){22 memset(level,0,sizeof(level));23 queue
q;24 q.push(ss);25 level[ss]=1;26 int x;27 while(!q.empty()){28 x=q.front();q.pop();29 for(int i=0;i
e.flow&&!level[e.to]){32 int nxt=edge[point[x][i]].to;33 level[nxt]=level[x]+1;34 q.push(nxt);35 }36 }37 }38 return level[tt];39 }40 int dfs(int k,int a){41 if(k==tt||!a) return a;42 int temp,ans=0;43 for(int i=0;i
e.flow&&level[e.to]==level[k]+1&&(temp=dfs(e.to,min(a,e.cap-e.flow)))){46 ans+=temp,a-=temp;47 e.flow+=temp,edge[point[k][i]^1].flow-=temp;48 }49 if(!a) return ans;50 }51 return ans;52 }53 int dinic(){54 int ans=0;55 while(bfs())56 ans+=dfs(ss,oo);57 return ans;58 }59 int main(){60 scanf("%d",&n);61 int ans,t1,t2;62 for(ans=1;1;ans++){63 add_edge(ss,(ans<<1)-1,1);add_edge((ans<<1),tt,1);64 for(int i=1;i
n) break;70 for(int i=0;i
0){f[(edge[point[(i<<1)-1][j]].to)>>1]=i;break;}77 for(int i=1;i<=ans;i++){78 if(vis[i]) continue;79 printf("%d ",i);80 vis[i]=1,t1=f[i];81 while(t1){82 printf("%d ",t1);83 vis[t1]=1,t1=f[t1];84 }85 printf("\n");86 }87 return 0;88 }

 

转载于:https://www.cnblogs.com/mycups/p/8527841.html

你可能感兴趣的文章
Windows Azure Cloud Service (7) Windows Azure项目文件详解
查看>>
101. 对称二叉树
查看>>
TEST ON 平安夜
查看>>
python中的小知识点
查看>>
个人总结-9-session的使用,十天免登陆
查看>>
re库
查看>>
javascript变量精度的处理
查看>>
快速下载android源码
查看>>
unity UGUI动态滑动列表
查看>>
[CODEVS1697]⑨要写信
查看>>
PHP面向对象编程快速入门
查看>>
阶段一:用Handler和Message实现计时效果及其中一些疑问
查看>>
Ubuntu16.04中nginx除80之外其他端口不能访问
查看>>
Java中HashMap和TreeMap的区别深入理解
查看>>
【学习笔记】Silverlight框架:Jounce(6)——Command和ViewModel
查看>>
Java设计模式总汇一 (适配器、单例、静态代理、简单工厂设计模式)
查看>>
异步FIFO的FPGA实现
查看>>
BZOJ3288 Mato矩阵
查看>>
bootstrap学习13-模态框插件
查看>>
LeetCode记录-easy-009Palindrome Number
查看>>