[Violet 4] 毕业旅行
2718: [Violet 4]毕业旅行
Time Limit: 10 Sec Memory Limit: 128 MB
Submit: 672 Solved: 389
[Submit][Status][Discuss]
Description
Input
Output
最多可选多少景点
Sample Input
1 2
2 3
5 4
4 3
3 6
6 7
Sample Output
HINT
- #include<bits/stdc++.h>
- #define ll long long
- #define pb push_back
- using namespace std;
- const int maxn=505;
- vector<int> g[maxn];
- struct lines{
- int to,flow,cap;
- }l[maxn*maxn];
- int t=-1,S,T,d[maxn],cur[maxn];
- bool v[maxn];
- inline void add(int from,int to,int cap){
- l[++t]=(lines){to,0,cap},g[from].pb(t);
- l[++t]=(lines){from,0,0},g[to].pb(t);
- }
- inline bool BFS(){
- queue<int> q;
- memset(v,0,sizeof(v));
- q.push(S),v[S]=1,d[S]=0;
- int x; lines e;
- while(!q.empty()){
- x=q.front(),q.pop();
- for(int i=g[x].size()-1;i>=0;i--){
- e=l[g[x][i]];
- if(e.flow<e.cap&&!v[e.to]){
- v[e.to]=1,d[e.to]=d[x]+1;
- q.push(e.to);
- }
- }
- }
- return v[T];
- }
- int dfs(int x,int A){
- if(x==T||!A) return A;
- int flow=0,f,sz=g[x].size();
- for(int &i=cur[x];i<sz;i++){
- lines &e=l[g[x][i]];
- if(d[x]==d[e.to]-1&&(f=dfs(e.to,min(e.cap-e.flow,A)))){
- A-=f,flow+=f;
- e.flow+=f,l[g[x][i]^1].flow-=f;
- if(!A) break;
- }
- }
- return flow;
- }
- inline int max_flow(){
- int an=0;
- while(BFS()){
- memset(cur,0,sizeof(cur));
- an+=dfs(S,1<<30);
- }
- return an;
- }
- int n,m,uu,vv;
- bool G[205][205];
- inline void build(){
- for(int k=1;k<=n;k++)
- for(int i=1;i<=n;i++)
- for(int j=1;j<=n;j++) if(G[i][k]&&G[k][j]) G[i][j]=1;
- S=0,T=n*2+1;
- for(int i=1;i<=n;i++) add(S,i,1),add(i+n,T,1);
- for(int i=1;i<=n;i++)
- for(int j=1;j<=n;j++) if(G[i][j]) add(i,j+n,1);
- }
- int main(){
- scanf("%d%d",&n,&m);
- for(int i=1;i<=m;i++) scanf("%d%d",&uu,&vv),G[uu][vv]=1;
- build(),printf("%d\n",n-max_flow());
- return 0;
- }
[Violet 4] 毕业旅行的更多相关文章
- BZOJ2718: [Violet 4]毕业旅行
2718: [Violet 4]毕业旅行 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 229 Solved: 126[Submit][Status ...
- BZOJ 2718: [Violet 4]毕业旅行( 最长反链 )
一不小心速度就成了#1.... 这道题显然是求最长反链, 最长反链=最小链覆盖.最小链覆盖就是先做一次floyd传递闭包, 再求最小路径覆盖. 最小路径覆盖=N - 二分图最大匹配. 所以把所有点拆成 ...
- Bzoj 2718: [Violet 4]毕业旅行 && Bzoj 1143: [CTSC2008]祭祀river 传递闭包,二分图匹配,匈牙利,bitset
1143: [CTSC2008]祭祀river Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1878 Solved: 937[Submit][St ...
- bzoj 1143: [CTSC2008]祭祀river / 2718: [Violet 4]毕业旅行 -- 二分图匹配
1143: [CTSC2008]祭祀river Time Limit: 10 Sec Memory Limit: 162 MB Description 在遥远的东方,有一个神秘的民族,自称Y族.他们 ...
- bzoj1143: [CTSC2008]祭祀river && bzoj27182718: [Violet 4]毕业旅行
其实我至今不懂为啥强联通缩点判入度会错... 然后这个求的和之前那道组合数学一样,就是最长反链=最小链覆盖=最大独立集. #include<cstdio> #include<iost ...
- BZOJ-1143&&BZOJ-2718 祭祀river&&毕业旅行 最长反链(Floyed传递闭包+二分图匹配)
蛋蛋安利的双倍经验题 1143: [CTSC2008]祭祀river Time Limit: 10 Sec Memory Limit: 162 MB Submit: 1901 Solved: 951 ...
- 2016级算法期末模拟练习赛-A.wuli51和京导的毕业旅行
1063 wuli51和京导的毕业旅行 思路 中等题,二分+贪心. 简化题意,将m+1个数字分成n份,ans为这n段中每段数字和的最大值,求ans最小值及其方案. 对于这种求最小的最大值,最常用的方法 ...
- Python笔试——毕业旅行问题
毕业旅行问题 小明目前在做一份毕业旅行的规划.打算从北京出发,分别去若干个城市,然后再回到北京,每个城市之间均乘坐高铁,且每个城市只去一次.由于经费有限,希望能够通过合理的路线安排尽可能的省一些路上的 ...
- luogu P5606 小 K 与毕业旅行 - 构造 - 多项式
题目传送门 传送门 先考虑 $a_i > 0$ 的情况.考虑构造这样一个顺序:$a_i$ 要么和后面的数的乘积都大于 $w$ 要么都小于等于 $w$. 这个构造可以这样做: vector< ...
随机推荐
- python爬虫基础13-selenium大全7/8-异常
Selenium笔记(7)异常 本文集链接:https://www.jianshu.com/nb/25338984 完整文档 Exceptions that may happen in all the ...
- crm项目之整体内容(一)
一.项目背景 YW公司是一家电池供应商,目前由于公司内部的需要,需要做一个CRM项目,需要每一个不同角色的员工登陆系统后处理自己的事情.其流程大致如下: 其项目包括三部分内容: 1.权限分配组件(rb ...
- drf 解析器,响应器,路由控制
解析器 作用: 根据请求头 content-type 选择对应的解析器对请求体内容进行处理. 有application/json,x-www-form-urlencoded,form-data等格式 ...
- python2和python3,字典和json
Python2的标准数据类型有: Numbers (数字) String (字符串) List (列表) Tuple (元组) Dictionary (字典) Python3的标准数据类型有: Num ...
- CentOS 7.X 中systemctl命令用法详解
systemctl是RHEL 7 的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体.可以使用它永久性或只在当前会话中启用/禁用服务,下面来看CentOS 7.X 中 ...
- MIP启发式算法:Variable fixing heuristic
*本文主要记录及分享学习到的知识,算不上原创 *参考文章见链接. 本文简单介绍一下Variable fixing heuristic,这个算法同样以local search为核心框架,它的特点在于定义 ...
- POJ-3278 广度优先搜索入门
#include<stdio.h> #include<stdlib.h> struct node{ int x; int s; }s[]; int main(){ ]={}; ...
- 反转单词顺序 VS 左旋转字符串
题目一:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.为简单起见,标垫符号和普通字母一样处理.例如输入字符串“I am a student.”,则输出“student. a am I ...
- 关于ios 和 android 录音(语音)对聊文件格式问题
关于ios 和 android 录音(语音)对聊文件格式问题 在做语音对讲的时候,将会碰到录制语音格式的问题,这些需要跨平台我们可能需要使用双方平台都支持的格式,或者执行编码转换 解决方式如下: wa ...
- day04_01 知识回顾、算术运算符
","和"+"的区别 除法运算,整除//,别名"地板除" 取余数 2**10 2的10次方 指数运算 指数运算符优先级要比乘法要高,所以先算 ...