传送门


老年选手复习最小链覆盖板子。


代码:

#include<bits/stdc++.h>
#define ll long long
#define re register
#define gc get_char
#define cs constnamespace IO{inline char get_char(){static cs int Rlen=1<<22|1;static char buf[Rlen],*p1,*p2;return (p1==p2)&&(p2=(p1=buf)+fread(buf,1,Rlen,stdin),p1==p2)?EOF:*p1++;}template<typename T>inline T get(){char c;while(!isdigit(c=gc()));T num=c^48;while(isdigit(c=gc()))num=(num+(num<<2)<<1)+(c^48);return num;}inline int getint(){return get<int>();}
}
using namespace IO;using std::cerr;
using std::cout;cs int INF=0x7fffffff;
cs int N=1e5+5;int n,m;int S,T;
namespace NetWork{cs int N=::N<<1;struct edge{int to,cap,rev;edge(int _to,int _cap,int _rev):to(_to),cap(_cap),rev(_rev){}};std::vector<edge> G[N];typedef std::vector<edge>::iterator iter;iter cur[N];inline void addedge(int u,int v,int val){G[u].push_back(edge(v,val,G[v].size()));G[v].push_back(edge(u,0,G[u].size()-1));}int lev[N],gap[N];inline void BFS(){memset(lev,0,sizeof lev);memset(gap,0,sizeof gap);gap[1]=lev[T]=1;std::queue<int> q;q.push(T);while(!q.empty()){int u=q.front();q.pop();cur[u]=G[u].begin();for(edge &e:G[u])if(lev[e.to]==0)++gap[lev[e.to]=lev[u]+1],q.push(e.to);}}bool finished;inline int dfs(int u,int flow){if(u==T)return flow;int ans=0;for(iter &e=cur[u];e!=G[u].end();++e){if(e->cap&&lev[e->to]+1==lev[u]){int delta=dfs(e->to,std::min(flow-ans,e->cap));if(delta){e->cap-=delta;G[e->to][e->rev].cap+=delta;if((ans+=delta)==flow)return flow;}}}cur[u]=G[u].begin();if(!--gap[lev[u]++])finished=true;++gap[lev[u]];return ans;}inline int mxflow(){int ans=0;BFS();finished=false;while(!finished)ans+=dfs(S,INF);return ans;}
}signed main(){//  freopen("fuck.in","r",stdin);n=getint(),m=getint();S=n<<1|1,T=S+1;for(int re i=1;i<=n;++i){NetWork::addedge(S,i,1);NetWork::addedge(i+n,T,1);NetWork::addedge(i+n,i,INF); }while(m--)NetWork::addedge(getint(),getint()+n,INF);cout<<n-NetWork::mxflow();return 0;
}

【LOJ6197】法克(最长反链)相关推荐

  1. 【BZOJ3997】[TJOI2015]组合数学 最长反链

    [BZOJ3997][TJOI2015]组合数学 Description 给出一个网格图,其中某些格子有财宝,每次从左上角出发,只能向下或右走.问至少走多少次才能将财宝捡完.此对此问题变形,假设每个格 ...

  2. 最长反链(bzoj 1143: [CTSC2008]祭祀river)

    题目描述: 给你一个n个点m条边的有向无环图,求出最大点集满足其中任意两点间都不能存在路径 也就是对于所有的x, y∈S,x不能到达y,y也不能到达x 对于有向无环图(DAG): 链:一些点的集合,链 ...

  3. 算法设计-递归法解最长公共子序列问题 C代码

    给大家推荐一个公众号:诗葵1931 里面的诗歌很美 主要功能:递归法解最长公共子序列问题 #include<stdio.h> #include<string.h> /* 递归思 ...

  4. 最小路径覆盖与最小链覆盖 Dilworth定理:最小链覆盖等于最长反链(详细证明与经典例题)

    一.最小路径覆盖 定义 最小路径覆盖就是指在有向无环图中,用最少的.不相交的简单路径覆盖图中的所有点. 解法 ①将原图中的每个点拆点,(将点u拆成u与u+n): ②将原图中的每条边 <u,v&g ...

  5. 最长反链=最小链覆盖(证明+解析)

    最长反链与最小链覆盖 转自:http://vfleaking.blog.163.com/blog/static/1748076342012918105514527/ 膜拜! 大前提:在有向无环图中 链 ...

  6. [bzoj1143][CTSC2008]祭祀river——DAG上最长反链,Dilworth定理,最大二分图匹配,Floyd

    题目大意: 给定一个DAG图,求最长反链(即一个点集,其中任意点两两不可以相互到达). 思路: 一开始我其实是想用求最大独立集的方法去求的.但是并不会(好像也过不去). 题目所要求的是最长反链,需要用 ...

  7. BZOJ 1143 祭祀river 最长反链

    http://vfleaking.blog.163.com/blog/static/1748076342012918105514527/大前提:在有向无环图中链是一个点的集合,这个集合中任意两个元素v ...

  8. bzoj 1143 bzoj 2718 最长反链

    题意:n个点,m条有向边,求最长反链 又到了涨姿势的时候了...(果然蒟蒻) DAG中,有如下的一些定义和性质: 链:一条链是一些点的集合,链上任意两个点x, y,满足要么 x 能到达 y ,要么 y ...

  9. LibreOJ #6197.法克 上下界网络流

    题意 给一个有n个点m条边的DAG,问最多能选出多少个点使得选出的点两两不能到达. n≤105,m≤2nn≤105,m≤2nn\le10^5,m\le2n 分析 根据某定理,最长反链=最小链覆盖,注意 ...

  10. 纸飞机【最小链覆盖等于最长反链】

    牛客挑战赛36 C 题目链接 题目想知道的是最长严格下降子序列的最少个数用以覆盖完N个数.也就是最小链覆盖问题了. 那么,我们反过来想,最长反链,我们求得最长不递减序列的个数,如题,"2 4 ...

最新文章

  1. flutter ios打包_Flutter项目之iOS应用的打包发布流程
  2. C#之IComparable用法,实现ListT.sort()排序
  3. Netweaver的端口号和Spring boot内嵌的Tomcat端口
  4. 推荐我看过的几本好书给大家!(2)
  5. [COCI 2018#5]Parametriziran
  6. 类模板(参考《C++ Templates 英文版第二版》)
  7. vba 指定列后插入列_在不同的列左侧插入指定数量的空白列
  8. HLA程序:HelloWorld.hla
  9. VUE项目中使用this.$forceUpdate()强制页面重新渲染
  10. Study Struts Commons Validator
  11. Ubuntu 12.04.2搭建nfs服务器
  12. Bootstrap相关优质项目推荐
  13. o蓝屏之死---stop:0X000000c5(0x000000c4等系列)---Mr.Zhang
  14. PRINCE2产品认证报考常见一些问答
  15. 和我一起打造个简单搜索之Logstash实时同步建立索引
  16. vue 刮刮乐抽奖H5项目
  17. 自动刷抖音脚本(解放你的双手)
  18. python凯撒密码实验报告_凯撒密码的python实现
  19. win2008R2 不能访问局域网共享\局域网共享中无本机,解决办法
  20. linux下(centos7)fisheye与crucible破解教程--亲测有用

热门文章

  1. 贪心算法|柠檬水找零
  2. LPL各队人员名单及新赛季前景分析(下)
  3. 拖地机扫地机吸尘器 哪款才是日常清扫保洁好助手?
  4. 苹果推出了AI手机,打造一款高度个性化的设备
  5. Git初始化本地仓库及管理远程仓库github
  6. openOffice 安装
  7. IOS获取当前App的基本信息
  8. 23 种设计模式的通俗解释,秒懂
  9. 超精美!10款专业的高质量名片设计模板
  10. 区块链最全书单:必读这20本书