hdu 3729(二分图最大匹配+最大字典序)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3729
解题思路:节点i对Xi~Yi之间的每一个点都连一条边,这样问题就转化成二分图的最大匹配了。字典序最大,这里可以根据匈牙利算法的特点,从n枚举到1即可。
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;const int maxn = 100005;
struct node
{int x,y;
}a[105];
int n,m,g[65][maxn];
int match[maxn],res[65];
bool vis[maxn];bool dfs(int u)
{for(int i = a[u].x; i <= a[u].y; i++){if(vis[i] == false){vis[i] = true;if(match[i] == -1 || dfs(match[i])){match[i] = u;res[u] = 1;return true;}}}return false;
}void Max_Match()
{int ans = 0;memset(match,-1,sizeof(match));memset(res,-1,sizeof(res));for(int i = n; i >= 1; i--){memset(vis,false,sizeof(vis));if(dfs(i)) ans++;}printf("%d\n",ans);for(int i = 1,cnt = 0; i <= n; i++)if(res[i] == 1){cnt++;if(cnt == ans) printf("%d\n",i);else printf("%d ",i);}
}int main()
{int t;scanf("%d",&t);while(t--){scanf("%d",&n);for(int i = 1; i <= n; i++)scanf("%d%d",&a[i].x,&a[i].y);Max_Match();}return 0;
}
hdu 3729(二分图最大匹配+最大字典序)相关推荐
- HDU 3729 I'm Telling the Truth(二分图最大匹配)
HDU 3729 I'm Telling the Truth(二分图最大匹配) http://acm.hdu.edu.cn/showproblem.php?pid=3729 题意: 一位老师想问N位同 ...
- HDU - 1054 Strategic Game(最小点覆盖-二分图最大匹配)
题目链接:点击查看 题目大意:给出一棵树,现在要在节点上放置士兵,每个士兵可以监视与其所在的节点直接相连的节点,问最少需要多少个士兵才能将整棵树都监视到 题目分析:求最少的节点,以保证每条边都有一个端 ...
- HDU - 2389 Rain on your Parade(Hopcroft-Krap算法求二分图最大匹配)
题目链接:点击查看 题目大意:给出n个人和m个雨伞,t分钟后就要下雨了,现在给出每个人的坐标和速度,以及雨伞所在的坐标,每个雨伞只能容纳一个人,题目问最多有多少个人能不被淋到 题目分析:二分图最大匹配 ...
- HDU - 1528 Card Game Cheater(二分图最大匹配)
题目链接:点击查看 题目大意:题意有点像求田忌赛马的最优解,大概意思就是现在有两个人,每个人都有n张不同的扑克牌,扑克牌的大小首先以点数来确定,点数相同的情况下以花色来决定,红桃(Heart)> ...
- HDU - 1150 Machine Schedule(最小点覆盖-二分图最大匹配)
题目链接:点击查看 题目大意:现在有一个机器A和一个机器B,A机器有n种模式,B机器有m种模式,现在有k次工作需要完成,每次工作的信息为: id x y:编号为id,在A机器要用x模式完成,在B机器要 ...
- HDU - 5090 Game with Pearls(二分图最大匹配)
题目链接:点击查看 题目大意:杰瑞和汤姆在玩游戏,游戏规则是:汤姆会拿来N个容器,每个容器内一开始就会包含1~N个小球,现在轮到杰瑞操作了,杰瑞可以选择往每个容器里加入0个或者任意k的倍数个小球,问杰 ...
- HDU - 2063 过山车(二分图最大匹配)
题目链接:点击查看 题目大意:中文题目,不多赘述 题目分析:二分图最大匹配问题,匈牙利经典算法模板题,感觉这个博客写的很好,插个眼: https://article.itxueyuan.com/Aea ...
- 解题报告 (九) 二分图最大匹配
文章目录 二分图最大匹配 解题报告 一.最大匹配模板题 HDU 1083 Courses HDU 2063 过山车 HDU 1528 Card Game Cheater HDU 1179 Olliva ...
- 二分图判断以及二分图最大匹配
概念 二分图又称作二部图 ,是图论中的一种特殊模型. 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的 ...
最新文章
- 标准功能模块组件 -- 内部联络单组件,内部邮件组件,提高多人异地协同办公效率...
- 玩纸牌游戏计算机教案,小班数学好玩的扑克牌教案
- 参考文献使用交叉引用的注意事项(实用篇)
- C语言中前面有四个空格,在C语言编程中什么叫前导空格,什么叫尾随空 – 手机爱问...
- office 2010中自带的 微软拼音输入法2010卸载
- python树形_Python处理树形数组
- JAVA月数输入24回车后变成12_Java语言程序设计(一)自考2012年10月真题
- LINUX服务器搭建和常用配置介绍
- Cognos TM1_10.1.1服务端配置
- java的值排序总结
- Zabbix 服务器性能指标参考(学习笔记十七)
- 0909 对编译原理的想法
- git revert reset
- BZOJ1588(HNOI2002)营业额统计
- IDEA 导入项目 导入不进去
- 【从蛋壳到满天飞】JS 数据结构解析和算法实现-Arrays(数组)
- 【安装教程】——widows_pycharm远程连接Linux服务器
- (日常)Dell R740 XD 服务器安装GPU显卡记录
- 支付沙箱环境测试和验签
- Thinkpad E470重装WIN7系统后,重启进入boot menu的问题