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相关推荐

  1. 2021年度训练联盟热身训练赛第四场,签到题CDF

    概述 题号 标题 已通过代码 通过率 团队的状态 A Broadcast Stations 点击查看 17/55 未通过 B Connect3 点击查看 167/234 未通过 C Game Map ...

  2. 2017-2018 ACM-ICPC, Asia Daejeon Regional Contest

    2017-2018 ACM-ICPC, Asia Daejeon Regional Contest 题号 题目 难度 知识点 A Broadcast Stations B Connect3 C Gam ...

  3. 2017-2018 ACM-ICPC, Asia Daejeon Regional Contest 【11/12】

    题目链接 A - Broadcast Stations 给出一棵树,允许在某些点上添加权值,此时可以覆盖距这个点不超过这个权值的所有点.求要覆盖所有的点需要最少加的权值. 做的时候不会--韩语的题解机 ...

  4. 强化学习(三) - Gym库介绍和使用,Markov决策程序实例,动态规划决策实例

    强化学习(三) - Gym库介绍和使用,Markov决策程序实例,动态规划决策实例 1. 引言 在这个部分补充之前马尔科夫决策和动态规划部分的代码.在以后的内容我会把相关代码都附到相关内容的后面.本部 ...

  5. Gym - 102082G

    Gym - 102082G https://vjudge.net/problem/2198225/origin 对于数列中任意一个数,要么从最左边到它不递减,要么从最右边到到它不递减,为了满足这个条件 ...

  6. 安装gym库_强化学习Gym库学习实践(一)

    最近看了一篇研究方向相关的文章,介绍了一种DQN的应用,感觉还挺新鲜的.想着把这篇文章复现出来,就开始学习强化学习的相关知识,作为一名小白,这一路走的可是真的十分艰难(我太菜了啊!) 看了莫烦Pyth ...

  7. 强化学习环境库 Gym 发布首个社区发布版,全面兼容 Python 3.9

    作者:肖智清 来源:AI科技大本营 强化学习环境库Gym于2021年8月中旬迎来了首个社区志愿者维护的发布版Gym 0.19.该版本全面兼容Python 3.9,增加了多个新特性. 强化学习环境库的事 ...

  8. Gym迎来首个完整环境文档,强化学习入门更加简单!

    深度强化学习实验室 官网:http://www.neurondance.com/ 论坛:http://deeprl.neurondance.com/ 编辑:OpenDeepRL OpenAI Gym是 ...

  9. Codeforces Gym 100513G G. FacePalm Accounting 暴力

    G. FacePalm Accounting Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100513 ...

最新文章

  1. 抱歉,我觉得有些人做副业并不靠谱
  2. R语言对dataframe(data.table)数据分层随机抽样实战
  3. 表单form类型数据转换为数组array
  4. Ceph 的用户管理与认证
  5. for each in java script
  6. Oracle_Rac_BackgroudProcess
  7. [转]gtest使用
  8. Linux调试时常见问题,C程序在linux下调试时经常出现的问题
  9. Java导出Highcharts需要的3个外部jar包
  10. Java基础学习总结(184)—— 从 Java 9 到 Java 17 的新特性解读
  11. JAVA 赛码网|笔试时输入输出的控制
  12. Linux远程联机服务(二)——Rsh服务器安装与使用详解
  13. 如何在 3dMax 中制作游戏中的战斧模型?
  14. 随笔记录2、Android端调用系统分享文件记录
  15. U深度U盘启动不了Thinkpad X250怎么办?
  16. anacnda 子环境管理
  17. 将windows10操作系统硬盘格式化为FAT32
  18. 学习ofbiz 订单支付设计
  19. react里子父通信和父子通信的实现
  20. linux 限速工具 netem bridge

热门文章

  1. 运算放大器---增益带宽积(GBW)
  2. 数据库系列之SequoiaDB高可用集群部署(一)
  3. IBK的秘密——Nuke IBK节点(IBKColour IBKGizmo)抠像原理
  4. 武汉放假露营不得不说,乐农农庄花样多。
  5. nokia x7 android 9.0,安卓9.0加持,诺基亚X7值不值得买呢?
  6. Linux基础命令(非常详细)
  7. MySQL8.0 相关汇总 不断完善 持续更新……
  8. 5G NR调度技术简介
  9. 短平快时代 端游出路指向何方?_
  10. Rest Ful 设计规范