hdu 3729 I'm Telling the Truth(二分匹配_ 匈牙利算法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3729
I'm Telling the Truth
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1700 Accepted Submission(s):
853
did a survey in his class on students’ score. There are n students in the class.
The students didn’t want to tell their teacher their exact score; they only told
their teacher their rank in the province (in the form of
intervals).
After asking all the students, the teacher found that some
students didn’t tell the truth. For example, Student1 said he was between 5004th
and 5005th, Student2 said he was between 5005th and 5006th, Student3 said he was
between 5004th and 5006th, Student4 said he was between 5004th and 5006th, too.
This situation is obviously impossible. So at least one told a lie. Because the
teacher thinks most of his students are honest, he wants to know how many
students told the truth at most.
number of cases (at most 100 cases). In the first line of every case, an integer
n (n <= 60) represents the number of students. In the next n lines of every
case, there are 2 numbers in each line, Xi and Yi (1 <=
Xi <= Yi <= 100000), means the i-th student’s rank
is between Xi and Yi, inclusive.
in the first line, which means the number of students who told the truth at
most. In the second line, output the students who tell the truth, separated by a
space. Please note that there are no spaces at the head or tail of each line. If
there are more than one way, output the list with maximum lexicographic. (In the
example above, 1 2 3;1 2 4;1 3 4;2 3 4 are all OK, and 2 3 4 with maximum
lexicographic)
#include <iostream>
#include <cstdio>
#include <cstring> using namespace std; int n;
int ok[+],vis[+],as[+];
struct node{
int x,y;
}s[];
int num[+]; bool Find(int x)
{
for (int i=s[x].x;i<=s[x].y;i++)
{
if (!vis[i])
{
vis[i]=;
if (!ok[i])
{
as[x]=;
ok[i]=x;
return true;
}
else
{
if (Find(ok[i]))
{
as[x]=;
ok[i]=x;
return true;
}
}
}
}
return false;
} int main()
{
int T;
int x,y; scanf("%d",&T);
while (T--)
{
int k=;
scanf("%d",&n);
memset(as,,sizeof(as));
memset(ok,,sizeof(ok));
int ans=;
for (int i=;i<=n;i++)
{
scanf("%d%d",&s[i].x,&s[i].y);
}
for (int i=n;i>;i--)
{
memset(vis,,sizeof(vis));
if (Find(i))
ans++;
}
printf ("%d\n",ans);
for (int i=n;i>=;i--)
{
if (as[i]==)
{
num[k++]=i;
//cout<<num[k-1]<<endl;
}
}
for (int i=k-;i>;i--)
printf ("%d ",num[i]);
printf ("%d\n",num[]);
}
return ;
}
hdu 3729 I'm Telling the Truth(二分匹配_ 匈牙利算法)的更多相关文章
- HDU 3729 I'm Telling the Truth (二分匹配)
题意:给定 n 个人成绩排名区间,然后问你最多有多少人成绩是真实的. 析:真是没想到二分匹配,....后来看到,一下子就明白了,原来是水题,二分匹配,只要把每个人和他对应的区间连起来就好,跑一次二分匹 ...
- hdu 1498 50 years, 50 colors(二分匹配_匈牙利算法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1498 50 years, 50 colors Time Limit: 2000/1000 MS (Ja ...
- hdu 3729 I'm Telling the Truth 二分图匹配
裸的二分图匹配.需要输出方案. #include<cstdio> #include<cstring> #include<vector> #include<al ...
- HDU 2389 Rain on your Parade(二分匹配,Hopcroft-Carp算法)
Rain on your Parade Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 655350/165535 K (Java/Ot ...
- HDU 2063:过山车(偶匹配,匈牙利算法)
过山车 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- HDU - 3729 I'm Telling the Truth(二分匹配)
题意:有n个人,每个人给出自己的名次区间,问最多有多少个人没撒谎,如果有多解,输出字典序最大的解. 分析: 1.因为字典序最大,所以从后往前分析. 2.假设后面的人没说谎,并将此作为已知条件,然后从后 ...
- hdu 2063 过山车 二分匹配(匈牙利算法)
简单题hdu2063 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2063 过山车 Time Limit: 1000/1000 MS (Java/Ot ...
- HDU 1150:Machine Schedule(二分匹配,匈牙利算法)
Machine Schedule Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- hdu2063 最大二分匹配(匈牙利算法)
过山车 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
随机推荐
- vue.cli实现tab切换效果
<template> <div class="cp-select"> <div class="lef ...
- DNS原理及解析过程
本文主要参考自:http://369369.blog.51cto.com/319630/812889 并做了小幅修改 什么是DNS? 因特网上的主机和人类一样,也可以使用多种方式进行识别.主机的一种识 ...
- LoadRunner脚本增强技巧之参数化(二)
特别提醒: 1.在形成数据池之后,数据库中的数据变化不会影响数据池中的数据. 2.数据文件一定要以一个空行结束,否则,最后一行输入的数据不会被参数所使用. 3.一般我们用到的很多的都是使用数据文件来保 ...
- SolrPerformanceFactors--官方文档
原文地址:http://wiki.apache.org/solr/SolrPerformanceFactors Contents Schema Design Considerations indexe ...
- (转)rabbitmq的web管理界面无法使用guest用户登录
转至http://www.cnblogs.com/mingaixin/p/4134920.html 安装最新版本的rabbitmq(3.3.1),并启用management plugin后,使用默认的 ...
- OEM SLP Key
OEM SLP Key Windows Server 2012 R2 Datacenter ===================== 2N9T6-Y284D-T68G9-QGV6X-FRFTD -- ...
- hive 一次性命令
1.用hive查询,而不进入hive cli,查询后的值可以保存到文件中 #使用参数-e [hadoop@bigdata-senior01 ~]$ hive -e "select * fro ...
- 聊聊flink Table的groupBy操作
本文主要研究一下flink Table的groupBy操作 Table.groupBy flink-table_2.11-1.7.0-sources.jar!/org/apache/flink/tab ...
- SID(安全标识符)
creating a SID for the Everyone group. DWORD SidSize; PSID TheSID; LPTSTR p; SidSize = SECURITY_MAX_ ...
- google protobuf service使用
http://note.youdao.com/noteshare?id=c59aaf827878e7a3611588f3abcd3bee