Gym - 101667J Strongly Matchable
https://vjudge.net/problem/Gym-101667J
难题,思路:https://acrazyczy.github.io/2018/01/16/Daejeon-2017-J/
#include<bits/stdc++.h>
using namespace std;
const int maxn=220;
typedef long long ll;
const int INF=0x3f3f3f3f;struct Edge{int from,to,cap,flow;
};struct Dinic{int n,m,s,t;vector<Edge> edges;vector<int> G[maxn];bool vis[maxn];int d[maxn];int cur[maxn];void init(){edges.clear();for(int i=1;i<=2*n;i++)G[i].clear();}void AddEdge(int f,int t,int c){edges.push_back((Edge){f,t,c,0});edges.push_back((Edge){t,f,0,0});m=edges.size();G[f].push_back(m-2);G[t].push_back(m-1);}bool bfs(){ memset(vis,0,sizeof(vis));queue<int> Q;Q.push(s);d[s]=0;vis[s]=1;while(!Q.empty()){int x=Q.front();Q.pop();for(int i=0;i<G[x].size();i++){Edge& e=edges[G[x][i]];if(!vis[e.to] && e.cap>e.flow){vis[e.to]=1;d[e.to]=d[x]+1;Q.push(e.to);}}}return vis[t];}int dfs(int x,int a){if(x==t || a==0)return a;int flow=0,f;for(int& i=cur[x];i<G[x].size();i++){Edge& e=edges[G[x][i]];if(d[x]+1==d[e.to] && (f=dfs(e.to,min(a,e.cap-e.flow)))>0){e.flow+=f;edges[G[x][i]^1].flow-=f;flow+=f;a-=f;if(!a)break;}}return flow;}int MaxFlow(){int flow=0;while(bfs()){memset(cur,0,sizeof(cur));flow+=dfs(s,INF);}return flow;}
}ans;int main()
{//freopen("input.in","r",stdin);int n,m;int x[10000],y[10000];cin>>n>>m;for(int i=1;i<=m;i++)cin>>x[i]>>y[i];ans.n=n;for(int s=1;s<n;s++)for(int t=s+1;t<=n;t++){ans.s=s,ans.t=t;ans.init();for(int i=1;i<=n;i++)ans.AddEdge(i,i+n,i==s||i==t?INF:1);for(int i=1;i<=m;i++)ans.AddEdge(x[i]+n,y[i],INF),ans.AddEdge(y[i]+n,x[i],INF);if(ans.MaxFlow()<n/2){puts("-1");return 0;}}puts("1");return 0;
}
Gym - 101667J Strongly Matchable相关推荐
- 2021年度训练联盟热身训练赛第四场,签到题CDF
概述 题号 标题 已通过代码 通过率 团队的状态 A Broadcast Stations 点击查看 17/55 未通过 B Connect3 点击查看 167/234 未通过 C Game Map ...
- 2017-2018 ACM-ICPC, Asia Daejeon Regional Contest
2017-2018 ACM-ICPC, Asia Daejeon Regional Contest 题号 题目 难度 知识点 A Broadcast Stations B Connect3 C Gam ...
- 2017-2018 ACM-ICPC, Asia Daejeon Regional Contest 【11/12】
题目链接 A - Broadcast Stations 给出一棵树,允许在某些点上添加权值,此时可以覆盖距这个点不超过这个权值的所有点.求要覆盖所有的点需要最少加的权值. 做的时候不会--韩语的题解机 ...
- 强化学习(三) - Gym库介绍和使用,Markov决策程序实例,动态规划决策实例
强化学习(三) - Gym库介绍和使用,Markov决策程序实例,动态规划决策实例 1. 引言 在这个部分补充之前马尔科夫决策和动态规划部分的代码.在以后的内容我会把相关代码都附到相关内容的后面.本部 ...
- Gym - 102082G
Gym - 102082G https://vjudge.net/problem/2198225/origin 对于数列中任意一个数,要么从最左边到它不递减,要么从最右边到到它不递减,为了满足这个条件 ...
- 安装gym库_强化学习Gym库学习实践(一)
最近看了一篇研究方向相关的文章,介绍了一种DQN的应用,感觉还挺新鲜的.想着把这篇文章复现出来,就开始学习强化学习的相关知识,作为一名小白,这一路走的可是真的十分艰难(我太菜了啊!) 看了莫烦Pyth ...
- 强化学习环境库 Gym 发布首个社区发布版,全面兼容 Python 3.9
作者:肖智清 来源:AI科技大本营 强化学习环境库Gym于2021年8月中旬迎来了首个社区志愿者维护的发布版Gym 0.19.该版本全面兼容Python 3.9,增加了多个新特性. 强化学习环境库的事 ...
- Gym迎来首个完整环境文档,强化学习入门更加简单!
深度强化学习实验室 官网:http://www.neurondance.com/ 论坛:http://deeprl.neurondance.com/ 编辑:OpenDeepRL OpenAI Gym是 ...
- Codeforces Gym 100513G G. FacePalm Accounting 暴力
G. FacePalm Accounting Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100513 ...
最新文章
- 抱歉,我觉得有些人做副业并不靠谱
- R语言对dataframe(data.table)数据分层随机抽样实战
- 表单form类型数据转换为数组array
- Ceph 的用户管理与认证
- for each in java script
- Oracle_Rac_BackgroudProcess
- [转]gtest使用
- Linux调试时常见问题,C程序在linux下调试时经常出现的问题
- Java导出Highcharts需要的3个外部jar包
- Java基础学习总结(184)—— 从 Java 9 到 Java 17 的新特性解读
- JAVA 赛码网|笔试时输入输出的控制
- Linux远程联机服务(二)——Rsh服务器安装与使用详解
- 如何在 3dMax 中制作游戏中的战斧模型?
- 随笔记录2、Android端调用系统分享文件记录
- U深度U盘启动不了Thinkpad X250怎么办?
- anacnda 子环境管理
- 将windows10操作系统硬盘格式化为FAT32
- 学习ofbiz 订单支付设计
- react里子父通信和父子通信的实现
- linux 限速工具 netem bridge