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 Problem Description After this year’…
裸的二分图匹配.需要输出方案. #include<cstdio> #include<cstring> #include<vector> #include<algorithm> #include<iostream> using namespace std; #define M 100005 #define N 65 bool vis[M]; vector<int> g[N]; int now[M]; int n,m; int dfs(i…
题意:给定 n 个人成绩排名区间,然后问你最多有多少人成绩是真实的. 析:真是没想到二分匹配,....后来看到,一下子就明白了,原来是水题,二分匹配,只要把每个人和他对应的区间连起来就好,跑一次二分匹配,裸的. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #include <string> #include <cstdlib> #inc…
题意:有n个人,每个人给出自己的名次区间,问最多有多少个人没撒谎,如果有多解,输出字典序最大的解. 分析: 1.因为字典序最大,所以从后往前分析. 2.假设后面的人没说谎,并将此作为已知条件,然后从后往前依次给每个人找到合适的名次,输出所有能找到合适名次的人即可. 3.假定给第i个人安排名次,第i+1~n个人名次已经安排好,假如第i个人想占的名次被第j个人所占,那就从第j个人可以占的名次中再找个合适的名次给j,然后把空出来的这个名次给i,如果i可以占的所有名次都被占且占领的人找不到其他可以占的名…
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): 1427    Accepted Submission(s): 719 Problem Description After this year’s col…
职务地址:HDU 3729 二分图最大匹配+按字典序输出结果. 仅仅要从数字大的開始匹配就能够保证字典序最大了.群里有人问. . 就顺手写了这题. . 代码例如以下: #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; int vis[110000], head[110000], cnt, link[110000]…
I - I'm Telling the Truth Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Practice UVALive 5033 Description After this year's college-entrance exam, the teacher did a survey in his class on students' score. There…
.I'm Telling the Truth Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1740 Accepted Submission(s): 871 Problem Description After this year's college-entrance exam, the teacher did a survey in his…
I'm Telling the Truth Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2006    Accepted Submission(s): 1011 Problem Description After this year’s college-entrance exam, the teacher did a survey i…
思路 题意:该题主要说几个同学分别说出自己的名次所处区间,最后输出可能存在的未说谎的人数及对应的学生编号,而且要求字典序最大. 思路:刚刚接触匈牙利算法,了解的还不太清楚,附一个专门讲解匈牙利算法的博文,个人认为讲的比较清晰. AC代码 #include<iostream> #include<cstdio> #include<cstring> using namespace std; int T, n; struct Stue { int l, r; }; Stue p…
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3729 题目意思: 有n个学生,老师询问每个学生的排名,每个学生都告诉了一个排名区间,求可能的最多的学生说实话的个数,以及那些学生的标号,有相同的则输出字典序最大的. 解题思路: 这题贪心只能求出个数,但要求字典序最大,则须用二分匹配. 将学生标号放到一个集合A里,另外一个集合B放排名.对于每个学生可能在的排名点,建一条边.从学生标号大的开始匹配. 代码 #include<iostream> #i…
此题是我AC的HDU的201道题目.泪流满面啊! 字典序最大(最小)真是个烦人的东西. 学生i与其对应的分数区间的每个点连一条边.字典序最大,编号最大的学生开始匹配. HK无法AC啊,试了很久.我不会说,能过样例. 最后用了DFS版的匈牙利算法过了.人们说这个代码简洁.不过我一般都用HK,时间复杂度低.今天发现了这个,还是有收获的.下次什么字典序,就用匈牙利. #include<iostream> #include<cstdio> #include<cstring> #…
题目大概说n个学生,都各自有一个互不相同的成绩排名,他们各自说了他们成绩排名所在区间,问最多有几个学生没说谎以及字典序最大的没说谎的学生序列. 学生作为一个X部的点,排名作为Y部的点,学生与其成绩排名的区间的各个点之间连边,这其实就是求这个二分图的最大匹配. 排名最多10W,边容量为1,不离散化跑网络流(Dinic?!)好像应该也是没问题的..不过还是学习了别人的离散化,自己写的错了.. 这题关键是要字典序最大,不会..又学习了别人的写法——按字典序枚举学生,加相关边,依次跑最大流.好有道理!…
题意: 给定 n个学生 说的 自己 考试排名的 可能范围 确定最多几个人说真话 如果有多种答案,输出字典序最大的那种( 要求字典序最大,所以solve中从最大字典序开始匹配) 思路: 题目给定  点 映射到 数轴的区间 上, 问最多多少点可以成功映射到数轴上 很显然  点就是 x集  , 整个数轴 就是 y集 , 点对应的整个区间就是映射的边 ,所以直接有了一个二分图 #include<iostream> #include<string.h> #include<stdio.h…
一个点集是学生,一个点集是排名.然后通过学生的排名范围连线,求此二分图的最大匹配. 本题还要求是最大字典序输出,那么由贪心可得,你让标号从大到小找增广边就行了. #include <cstdlib> #include <cstdio> #include <cmath> #include <cstring> #include <algorithm> #include <fstream> #include <iostream>…
题意: 给出n个同学的排名,代表每个排名在哪个区间,要求保证最多人说的是实话,并在此前提下求一个说真话人最大字典序. 思路: 最后感觉就是点去填区间,点和区间建个边,然后跑个二分图,然后sort一发. #include<cstdio> #include<vector> #include<string.h> #include<iostream> #include<algorithm> using namespace std; const int N…
从周三课开始总算轻松了点,下午能在宿舍研究点题目啥的打一打,还好,刚开学的课程还算跟得上,刚开学的这些课程也是复习以前学过的知识,下半学期也不敢太划水了,被各种人寄予厚望之后瑟瑟发抖,只能努力前行了~自己好多地方还做得不够好,真的是要提升的方面太多了,加油吧~ 今日兴趣新闻: 网易回应裁员:公司确实正在进行结构性优化 链接:https://baijiahao.baidu.com/s?id=1626619207432301200&wfr=spider&for=pc 偶尔反新闻经常看到这些大公…
强连通分量的应用,详见<挑战程序设计>P324 例题1:HDU Peaceful Commission 思路:强连通分量分解,看有没有两个同一个国家的代表在一个强连通分量里,如果有,就是NIE.这个不是关键,关键是怎么输出,输出还要用一下dfs,把所有能到达的点标记一下,顺便判断一下和之前有没有矛盾,有矛盾的话所有被标记的点又要重新标记回去.其实这道题可以不用强连通分量分解,直接dfs. 代码1(强连通分量分解+dfs): #include<bits/stdc++.h> using…
推荐几篇博客:https://blog.csdn.net/JarjingX/article/details/8521690 研究总结2-sat问题 https://blog.csdn.net/whereisherofrom/article/details/79417926 有向图强连通+2-sat问题 推荐几篇论文:https://wenku.baidu.com/view/afd6c436a32d7375a41780f2.html  由对称性问题解2-sat https://wenku.baid…
推荐论文:https://blog.csdn.net/zixiaqian/article/details/4492926 2-SAT问题是2判定性问题,给出n个集合,每个集合中有两个元素,两个元素之一要出现,且有一些元素不能相互共存 考虑每个集合中的元素都为i 和 i',对于每组信息在他们之间连边,连上边就绑定啦,它们一定要一起选 如果有一个点必须选又必须不选,就是矛盾 有N对物品,每对物品中必须选取一个,也只能选取一个,并且它们之间存在某些限制关系 2-sat中一条有向边的涵义是选了起点就必须…
前言 用python的AIML包很容易就能写一个人工智能聊天机器人. AIML是Artificial Intelligence Markup Language的简写, 但它只是一个简单的XML. 下面的代码例子会带你写一个你自己的Python人工智能聊天机器人. 什么是AIML? AIML是Richard Wallace开发的. 他开发了一个叫A.L.I.C.E(Artificial Linguistics Internet Computer Entity)的机器人并且赢了几个人工智能的奖项.…
Crashing Balloon Time Limit: 2 Seconds      Memory Limit: 65536 KB On every June 1st, the Children's Day, there will be a game named "crashing balloon" on TV.   The rule is very simple.  On the ground there are 100 labeled balloons, with the num…
[英语魔法俱乐部——读书笔记] 2 中级句型-复句&合句(Complex Sentences.Compound Sentences):(2.1)名词从句.(2.2)副词从句.(2.3)关系从句.(2.4)对等连接词与对等从句 2.0 中级句型-复句&合句 2.0.1 复句(Complex Sentences):将一个句子改造成类似名词.形容词.副词的形态,并放到另一个句子中使用,该句子就称为从属从句,另一句则称为主要从句,而合并后的具有主从之分的句子就称为复句.复句的从属从句主要有:名词从…
第一部分 1 初级句型-简单句(Simple Sentences):(1.1)基本句型&补语.(1.2)名词短语&冠词.(1.3)动词时态.(1.4)不定式短语.(1.5)动名词.(1.6)分词.(1.7)形容词.(1.8)副词.(1.9)语气词.(1.10)介词.(1.11)主谓一致性   1.1 五种基本句型&补语 1.1.1 五中基本句型 主谓(sv) 主谓宾(svo) 主谓宾宾(svoo) 主谓补(svc) 主谓宾补(svoc) 一个句子需要“主语”+“动词(谓语)”才能表…
2-SAT 问题是k-SAT问题在k==2时的特殊情况,因为已经证明k>=3时的k-sat问题属于npc问题.所以在这里仅研究2-SAT的特殊情况.   何为2-sat问题? 简单地说就是有N个集合,每个集合中有两个元素,其中一些集合中的元素存在相对关系.求出从每个集合中取出1个元素的方案.   先看一道例题: COGS313 2-sat的最简单情况,选出一些元素时,一些元素不可选.做这些题时,一般会考虑建图或者用并查集之类的数据结构维护.但显然复杂度是无法接受的,考虑新的算法.   首先,如果…
题目链接 题意:平面上,一个圆,圆的边上按顺时针放着n个点.现在要连m条边,比如a,b,那么a到b可以从圆的内部连接,也可以从圆的外部连接.给你的信息中,每个点最多只会连接的一条边.问能不能连接这m条边,使这些边都不相交. 分析:将每一条边缩成一个点,对于每条边要么在圆内要么在园外只有满足一种情况,将在圆内设为i,在圆外设为i',那么对于两条线(i, j)不能同时在圆内,那么也不能同时在圆外.则有四种情况 (i, j') (i', j) (j, i') (j', i)要建这四条边,然后就照着刘汝…
http://poj.org/problem?id=3207 题意:一个圆上顺时针依次排列着标号为1-n的点,这些点之间共有m条边相连,每两个点只能在圆内或者圆外连边.问是否存在这些边不相交的方案.(n<=1000, m<=500) #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #include <iostream> using n…
第四部分     推理题 1.世界上每个角落的每个人都有立场,都有背景,都有推理性,能推理出一个人语言的真意,才成就了真正的推理能力: 2.换言之,如果你能通过一个人的说话推理出其身份职业,你的推理能力更上一层楼. 一 . 临门一脚 1. “I believe in human ingenuity – that when we decide on a task to be done, no matter how daunting it may seem at the beginning, we…
一开始题意没读懂 = = 题意:比如说对于表盘上a到b.c到d都要连边,这两个边不能交叉.这两个边要么都在圆内要么都在圆外,而且可以是曲线= = 比如这种情况:(Reference:http://blog.csdn.net/l04205613/article/details/6668318) (左边情况看似是合法的,但是一个边在圆内一个在圆外,形成矛盾了) 这回只需判断是否可行不用输出方案,这样就简单多了 STEP:构图,矛盾的地方连边->tarjan求scc->判断是否a和not a在同一分…
借助 Python 的 AIML 包,我们很容易实现人工智能聊天机器人.AIML 指的是 Artificial Intelligence Markup Language (人工智能标记语言),它不过是简单的可 XML (扩展标记语言)形式.本文的示例代码将带你初步领略如何借助 Python 创建属于你的人工智能聊天机器人.AIML 是什么?AIML由Richard Wallace发明.他设计了一个名为 A.L.I.C.E.  (Artificial Linguistics Internet Co…