HDU-3729 I'm Telling the Truth
一个点集是学生,一个点集是排名。然后通过学生的排名范围连线,求此二分图的最大匹配。
本题还要求是最大字典序输出,那么由贪心可得,你让标号从大到小找增广边就行了。
#include <cstdlib>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <fstream>
#include <iostream>#define rep(i, l, r) for(int i=l; i<=r; i++)
#define down(i, l, r) for(int i=l; i>=r; i--)
#define N 69
#define M 100009using namespace std;
int read()
{int x=0, f=1; char ch=getchar();while (ch<'0' || ch>'9') { if (ch=='-') f=-1; ch=getchar(); }while (ch>='0' && ch<='9') { x=x*10+ch-'0'; ch=getchar(); }return x*f;
}int n, l[N], r[N], k[M], b[M], ans, ansk[N], s;bool Find(int x)
{rep(i, l[x], r[x]) if (b[i]!=s) {b[i]=s; if (!k[i] || Find(k[i])) { k[i]=x; return true; }}return false;
}int main()
{int t=read(); while (t--){n=read();rep(i, 1, n) l[i]=read(), r[i]=read();rep(i, 1, M-1) k[i]=b[i]=0; rep(i, 1, n) ansk[i]=0; ans=0;down(i, n, 1) if (Find(s=i)) ans++, ansk[i]=1;printf("%d\n", ans);rep(i, 1, n) if (ansk[i]) { if (--ans) printf("%d ", i); else printf("%d\n", i); }}return 0;
}
转载于:https://www.cnblogs.com/NanoApe/p/4345570.html
HDU-3729 I'm Telling the Truth相关推荐
- HDU 3729 I'm Telling the Truth(二分图最大匹配)
HDU 3729 I'm Telling the Truth(二分图最大匹配) http://acm.hdu.edu.cn/showproblem.php?pid=3729 题意: 一位老师想问N位同 ...
- hdu3729—I'm Telling the Truth(二分图最大匹配)
题目链接:传送门 I'm Telling the Truth Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ...
- hdu 3729(二分图最大匹配+最大字典序)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3729 解题思路:节点i对Xi~Yi之间的每一个点都连一条边,这样问题就转化成二分图的最大匹配了.字典序 ...
- I'm Telling the Truth(二分图匹配)
原题 题意: 有n个学生,你想了解他们的成绩.每个人告诉你他们的名次区间在x~y之间(闭区间),你需要判断最多说真话的人数,并输出这些人的编号,多种情况时输出最大字典序的一组 思路 该题目乍一看像并查 ...
- 杭电OJ分类题目(4)-Graph
原题出处:HDOJ Problem Index by Type,http://acm.hdu.edu.cn/typeclass.php 杭电OJ分类题目(4) HDU Graph Theory - U ...
- 解题报告 (九) 二分图最大匹配
文章目录 二分图最大匹配 解题报告 一.最大匹配模板题 HDU 1083 Courses HDU 2063 过山车 HDU 1528 Card Game Cheater HDU 1179 Olliva ...
- linux火狐中设置中文,Ubuntu中firefox设置成中文
收集的maven 仓库地址(maven repository) maven 仓库地址: 共有的仓库http://repo1.maven.org/maven2/http://repository.jbo ...
- (转)2-sat 专题
[2-sat]专题- 2-sat是一个逻辑性很强的算法,但是其套路比较固定,所以不是很热,题目很少,但也不乏AC后让人大呼爽快的好题,下面放出两篇极品论文还有几道题目的题解以供交流-- 2-sat学习 ...
- ACM比赛经验、刷题记录及模板库总结(更新中)
前言 本文所提及的部分题目代码,可以在我的Github上找到 第一部分 经验分享及感受 第二部分 刷题记录 一.基础算法&程序语言 //strlen()函数的复杂度是O(n)要小心 //截取字 ...
- POJ.3207.Ikki's Story IV-Panda's Trick(2-SAT)
题目链接 \(Description\) 一个圆上顺序排列0,1,...,n-1共n个点,给出m条线段,线段可以从里面连也可以从外面连,问是否能满足所有线段不相交 \(Solution\) 把每条线段 ...
最新文章
- GPT2文本生成有问题?这里有些潜在解决思路
- python基础知识选择题-99道经典练习题助你全面掌握python基础知识,附技巧答案...
- 以太币(Ether)的单位
- 利用TinyXML读取VOC2012数据集的XML标注文件裁剪出所有人体目标保存为文件
- Flutter入门:Image组件
- NSPredicate的用法、数组去重、比较...
- 程序员面试金典 - 面试题 16.10. 生存人数(自定义优先队列)
- 文学系列:《叶之震颤》读书笔记
- Json 入门例子【3】
- java如何让cpu过负荷_服务器开发过载问题如何解决
- 开源阅读书源_开源阅读——(免费)
- windows注册表文件关联机制
- web一阶段 day13 阿里矢量图库的使用方法
- SE Block (Sequeze and Excitation)
- Ribbon负载均衡分析
- 华东师范大学计算机组成原理教材,华东师范大学计算机组成原理.ppt
- 世界名著《平凡的世界》读后感3800字范文
- ROS中的imu_transformer包是什么,在哪里可以下载啊
- Android 项目必备(二十六)-->获取手机中所有 APP
- Gradle报错:Could not find ××× ,‘dependencies.× .× ‘ for × must specify an absolute path but is ${env.
热门文章
- Azure Kinect SDK Ubuntu18.04安装使用
- redis集群环境搭建入门
- Hbase Scan类 ResultScanner类
- Windows核心编程_LOG软件
- 深入浅出解读 Java 虚拟机的差别测试技术
- 【跃迁之路】【479天】程序员高效学习方法论探索系列(实验阶段236-2018.05.30)...
- 实用教程:使用Netflow分析网络异常流量
- NSURLSession学习笔记(二)Session Task
- 没事不要在for循环期间增减迭代序列的成员
- 迁移应用程序到.NET Framework 4.5:弃用类型与新特性