02 2013 档案

并查集初步
摘要:题目:HDU 1213题意就是有一群人要去吃饭,但是不认识的不能坐在一起,这就要我们将认识的人合并……赤裸裸的并查集。但是开始有个天真的想法:用一个set数组记录,每次将有关系的人的值变为前一个人的值。然后仔细想一想明显是不行的……比如这个数据:1 - 2 , 3 - 4 , 2 - 3对于4个人的这个数据显然只需要一张桌子!因为都认识。。。。可是如果用上面的方法将会得到错误的答案!所以只能用并查集了~~不说了,贴代码+注释:#include <cstdio>#include <algorithm>int set[1050];int find(int x){ int t 阅读全文

posted @ 2013-02-26 17:49 Hmm 阅读(145) 评论(0) 推荐(0)

POJ 1061
摘要:POJ 1061 青蛙的约会(转取网上写的版本,感觉写的真的很好)公青蛙一开始在x位置,母青蛙在y位置。公青蛙每次跳m米,母青蛙每次跳n米,并且都是向右跳的。地球经线长度是L,然后地球是圆的,也就是说,跳到L、L+1、L+2……其实就是跳到0、1、2。 公青蛙想追母青蛙,问多少次后它们能跳到一起。如果它们永远不能相遇,就输出Impossible。很明显嘛,就是求一个k,使x + k*m ≡ y + k*n (mod L) 嘛,木有错吧?至少我是这么想滴!然后对方程化简咯,就变成(n-m) * k ≡ x-y (mod L)咯。然后这个方程其实就等价于(n-m)*k + L*s = x-y咯。这 阅读全文

posted @ 2013-02-07 23:05 Hmm 阅读(228) 评论(0) 推荐(0)

POJ 1228 —— “稳定”凸包
摘要:POJ 1228Grandpa's Estate这是个好题目,同时也是个不和谐的题目(不和谐原因是题目出的存在漏洞,数据弱,而且有些条件没给清楚,为了一个SB错误无限WA之后,终于AC)题意就废了我好长时间,唉……英语不好的鸭梨大……大意就是爷爷留了块土地给我,然而这块土地是以一些钉子来界定的,题目要做的就是给你一堆钉子的坐标(也就是凸包上部分的点),然后问你能不能唯一确定这块土地。问了下度娘,这个问题叫做“稳定”凸包问题,那么首先就要了解下“稳定”凸包的性质:(在此感谢XDruid博主)比方说有4个点:这4个点可以围成一个凸包,但是原始的凸包可能并不是这个样子的例如可能是这个样子:这 阅读全文

posted @ 2013-02-07 17:20 Hmm 阅读(368) 评论(0) 推荐(1)

POJ 1698
摘要:Just a Hook题意:给出一个区间N,开始区间内的每一点值都是1然后给出更新命令Q条,更新区间[x , y]的值为z求出区间N的总价值(长度 * 价值)-----------------------------------------------------看到1<=N<=100,000 ,0<=Q<=100,000显然一般的n^2算法必然会超时,故需要高效算法之前写过一个线段树(本题为这辈子写的第二个线段树),貌似差不多,故想到线段树特点:区间大,成段更新,查询区间总和,综合这些特点,线段树满足!代码参考了某博主的……贴上供以后复习用View Code #inc 阅读全文

posted @ 2013-02-05 23:47 Hmm 阅读(254) 评论(0) 推荐(0)

凸包学习小结
摘要:这两天翻看了些许凸包的资料,在此留下学习脚印……凸包是啥呢……问度娘 = =、大家都知道的就不说了,很多资料都写了,而且目测写得也比我好多了吧……常用算法:枚举法 O(n ^ 3)的复杂度 , Graham扫描法 , 分治法(不懂....)让我兴奋的是,另一种网上资料难以找到的Graham扫描算法的变种:(LRJ训练指南上称作:Andrew算法)LRJ注释上写此种算法更快,且数值稳定性更好……故很想一试,奈何神牛就是神牛,他的介绍文字加起来不过1页……让我这个原来连凸包是什么都不懂的菜鸟鸭梨山大啊……后来,在捉题目的时候,翻看某博主的文章,里面写的与Graham算法完全不同,因为他不用将点按极 阅读全文

posted @ 2013-02-05 15:35 Hmm 阅读(483) 评论(0) 推荐(0)

导航