摘要: 也是旧题重做,本次是splay,原来写的treap版本请移步:http://www.cnblogs.com/evan-oi/archive/2012/02/03/2337324.html也是splay水题不多说了。View Code #include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>using namespace std;#define MaxN 10010#define INF 2000000int n,tot=0,root=0,ans=0;struct at 阅读全文
posted @ 2012-03-31 16:45 Evan1004 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 题目大意啥的自便吧,本问是题目的splay做法,之前发过用set写的 ,有兴趣可以转http://www.cnblogs.com/evan-oi/archive/2012/03/24/2415297.html简单slpay题,其实一个NB的操作都没有...话说人挑狗个狗挑人都是一样的,splay tree里有人存人,没人存狗...查找就一边递归一遍打擂台然后更新就好了。代码:View Code #include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>using nam 阅读全文
posted @ 2012-03-31 16:31 Evan1004 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=2420题目大意:求一个点到给出的n个点的距离和最小。分析:随机化算法。其实本题的正解应该是模拟退火,可是本菜现在还不会...所以写了一个纯乱随机的, 额,其实也不是纯随机,先在数据范围内随机20个点Pi,然后定一个距离s,判断每一个Pi的周围距离s的四个点是否比pi优,是则更新Pi,缩小s。让它搞个1000次取个最小就好了。其实六七百次之后20个点基本就不动了。代码:View Code #include<cstdio>#include<cstdlib>#include<cstring>#incl 阅读全文
posted @ 2012-03-26 21:58 Evan1004 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=3923题目大意:给一个地图,上面有若干矩形,矩形之间有覆盖,求每个在最顶的矩形。分析:模拟就可以了,要注意的是题目说了所求的矩形变长要大于3;而且会有矩形内含的情况,这样的话外圈的是不再解里的附代码:View Code #include<cstdio>#include<cstdlib>#include<iostream>#include<string>#include<cstring>#include<algorithm>using namespace std 阅读全文
posted @ 2012-03-26 10:44 Evan1004 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.zybbs.org/JudgeOnline/problem.php?id=1208不知到题意和不会思路的另搜吧...本文只是为了STL的set练手而已。这题查找的时候没用find(),而是用了pair和equal_range()。感觉这样写会比较方便,因为需要找最近的值。代码(不到30行^_^):View Code #include<cstdio>#include<cstdlib>#include<set>using namespace std;set<int>s;int x,y,n,kind,ans=0;int 阅读全文
posted @ 2012-03-24 11:03 Evan1004 阅读(193) 评论(0) 推荐(0) 编辑
摘要: set是STL中一种标准关联容器(vector,list,string,deque都是序列容器,而 set,multiset,map,multimap是标准关联容器),它底层使用平衡的搜索树——红黑树实现,插入删除操作时仅仅需要指针操作节点即可 完成,不涉及到内存移动和拷贝,所以效率比较高。set,顾名思义是“集合”的意思,在set中元素都是唯一的,而且默认情况下会对元素自动进行升序排列。如果需要集合中的元素允许重复那么可以使用multiset插入和删除要比向量(vector)快,但插入比容器内元素都大的新元素或查找元素时会有些慢。使用时要加头文件#include<set>stru 阅读全文
posted @ 2012-03-22 21:36 Evan1004 阅读(747) 评论(0) 推荐(1) 编辑
摘要: 题目大意:一个项目需要N天才能完成,其中第i天需要Ai个人,共有M类志愿者可以招募,每种都有固定的工作时间和招募费用。找出一种最优的招募方案。分析:其实这题很明显网络流,不过建图真的很麻烦很麻烦,要用到等式转换什么的,我就不献丑了,题解见 http://www.byvoid.com/blog/noi-2008-employee/NOI要是真出个让你看出来是网络流的题,估计是没几个人能构出图来的...代码真心丑,不过还是贴出来防丢:View Code #include<cstdio>#include<cstdlib>#include<cstring>#incl 阅读全文
posted @ 2012-03-20 20:09 Evan1004 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 题目问题自行解决。总的来说这题还是比较简单的,缩完点之后就是一张有向无环图,然后spfa一遍最长路(是这么叫吧)就可以了。不过题目的数据坑爹,有链状的...所以缩点要手工栈非递归才能AC不然86分...囧。我是写不出来了...代码很丑但还是贴一下防丢:View Code #include<cstdio>#include<cstdlib>#include<cstring>#include<queue>#include<iostream>using namespace std;#define MaxN 700010struct atp{ 阅读全文
posted @ 2012-03-19 16:36 Evan1004 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 题目大意请自便。经典的最大权闭合子图。不过要拓扑一下图的反向边去环,因为如果不反向那删掉的点是环内的点和保护环的点,但明显保护环的点是可以取到的,而真正因该去掉的被环保护的点却还存在,所以必须反向。然后就可以按照经典建图方法搞就好了。代码:View Code #include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>#include<queue>#define INF 10000000using namesp 阅读全文
posted @ 2012-03-17 15:23 Evan1004 阅读(207) 评论(0) 推荐(1) 编辑
摘要: 题目链接 : http://acm.hdu.edu.cn/showproblem.php?pid=3269题目大意:模拟一个P2P 下载,每对机器都有一个传输速率,每一个机器都有在线和离线时间,和下载的开始时间,当一个机器开始下载时,它将从所有在线且提供下载且与他有速度的服务器上下载。当它下载完成时,下一秒它就变成了服务器。问T时间之后,各个机器的完成百分比是多少。分析:模拟就行了,就是麻烦点,题目大意就是模拟方法...还有就是注意一些细节问题了。输出百分号是要写两个它才能A啊...而且不要忘了乘10。代码:View Code #include<stdio.h>#include&l 阅读全文
posted @ 2012-03-15 11:39 Evan1004 阅读(243) 评论(0) 推荐(0) 编辑