博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网络流24题4
阅读量:7021 次
发布时间:2019-06-28

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

https://loj.ac/problem/6003

变化了下的最小路径覆盖,要注意边数巨多。。。

#include 
#include
#include
#include
using namespace std;int biao[100];const int maxn = 10009;int head[maxn];int cur[maxn];int tot = 0;struct edge{ int v,nex,w;}e[maxn*20];void addedge(int u,int v,int w){ e[tot] = (edge){v,head[u],w}; head[u] = tot++; e[tot] = (edge){u,head[v],w}; head[v] = tot++;}int deep[maxn];int nowball;bool bfs(int S,int T){ for(int i=0;i<=2*nowball+1;i++){ deep[i] = 0; } queue
q; deep[S] = 1; q.push(S); while(!q.empty()){ int now = q.front(); q.pop(); for(int i=head[now];i!=-1;i=e[i].nex){ int v = e[i].v; int w = e[i].w; if(deep[v]!=0 || w<=0) continue; deep[v] = deep[now]+1; if(v==T) return deep[T]; q.push(v); } } return deep[T];}int dfs(int now,int T,int maxflow){ if(now==T) return maxflow; int all =0; for(int &i=cur[now];i!=-1 &&all
=nowball) continue; addedge(from*2,nowball*2+1,1); } addedge(0,nowball*2,1); addedge(nowball*2+1,1,1); kkk+=dinic(0,1); if(nowball-kkk<=n) continue; else{ break; } } nowball--; printf("%d\n",nowball); for(int i=1;i<=nowball;i++){ if(vis[2*i]==0) { print(2*i); printf("\n"); } } return 0;}

  

转载于:https://www.cnblogs.com/tjucxz/p/8562694.html

你可能感兴趣的文章
JAVA单例模式的几种实现方法
查看>>
Windows Azure Service Bus 推动财务服务门户的高可用性和可伸缩性
查看>>
PROS Step:只需几分钟即可创建优化的价目表,并发现即时收益机会。
查看>>
mysql mysqld.sock文件丢失问题
查看>>
android 简单列表对话框(AlertDialog.Builder().setItems())
查看>>
JAVA基本语义简介
查看>>
输入框背景不失真的方法(自己用到过的)
查看>>
接口的显示实现
查看>>
[POI2007]Zap
查看>>
mysql5.6以上(适用5.7)免安装版本 终极配置
查看>>
前端基础面试题
查看>>
机器学习十大算法(一)
查看>>
海市蜃楼(2016-04-20 15:11:44)
查看>>
[AngularJS] tips技巧收集
查看>>
工程名 显示红色叹号
查看>>
SQL Server 调优系列进阶篇 - 如何维护数据库索引
查看>>
需要总结的知道
查看>>
「视频直播技术详解」系列之四:推流和传输
查看>>
微信小程序之快速接入七牛云
查看>>
cursor.MySQLCursorDict Class
查看>>