题目大意:维护一种数据结构,支持以下操作:
1 x 若x不存在,插入x
2 x 若x存在,删除x
3 输出当前最小值,若不存在输出-1
4 输出当前最大值,若不存在输出-1
5 x 输出x的前驱,若不存在输出-1
6 x 输出x的后继,若不存在输出-1
7 x 若x存在,输出1,否则输出-1
这题卡Treap,要写线段树
ZKW大法好啊 可惜我这个沙茶又...
分类:
其他好文 时间:
2014-11-03 17:47:48
阅读次数:
200
http://acm.hdu.edu.cn/showproblem.php?pid=1074每个任务有一个截止日期和完成时间,超过截止日期一天扣一分,问完成全部任务最少扣几分,并输出路径最多15个任务,状态压缩一下进行dp,输出路径的话要记录每种状态的前驱,存起来逆序输出#include #incl...
分类:
其他好文 时间:
2014-11-02 22:15:02
阅读次数:
191
本文双链表介绍部分参考自博文数组、单链表和双链表介绍 以及 双向链表的C/C++/Java实现。 1 双链表介绍 双向链表(双链表)是链表的一种。和单链表一样,双链表也是由节点组成,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便...
分类:
编程语言 时间:
2014-11-02 19:38:56
阅读次数:
441
http://acm.hdu.edu.cn/showproblem.php?pid=1026记录bfs路径,用一个数组记录next前驱的方向,然后递归的时候减回去即可#include #include #include #include using namespace std ;const int ...
分类:
其他好文 时间:
2014-10-30 11:39:37
阅读次数:
122
http://acm.hdu.edu.cn/showproblem.php?pid=1074状压dp,记录路径求最小值的状压dp非常裸,5分钟就写好了,记录路径有点麻烦,之前没怎么处理过这种问题我的方法是用一个map建立当前状态和前驱状态的映射,输出要按字典序,因为已经按字典序从大到小排好了,所以状...
分类:
其他好文 时间:
2014-10-28 00:45:35
阅读次数:
190
还是计算几何, 多边形的核可以这样理解:这个核为原多边形内部的一个多边形,站在这个叫核的多边形中,我们能看到原多边形的任何一个位置。算法步骤如下:1.根据原多边形最大和最小的x,y初始化核多边形,就是个矩形。2.计算多边形当前处理的点的凹凸性。3.用当前点与其后继点构成直线,判断当前点的前驱点在该直...
分类:
其他好文 时间:
2014-10-26 22:30:09
阅读次数:
318
数据结构——表1、定义:线性表是一个线性结构,它是一个含有n≥0个结点的有限序列,对于当中的结点,有且仅有一个開始结点没有前驱但有一个后继结点,有且仅有一个终端结点没有后继但有一个前驱结点,其他的结点都有且仅有一个前驱和一个后继结点。2、特征/性质1)集合中必存在唯一的一个第一个元素2)集合中必存在...
分类:
其他好文 时间:
2014-10-25 22:49:35
阅读次数:
268
题目链接:http://poj.org/problem?id=1787题意:有4种货币分别是1元,5元,10元,20元。现在告诉你这四种货币分别有多少个,问你正好凑出P元钱最多可以用多少货币。每种货币要用多少钱。据说此题有完全背包的写法。。我是按照多重背包写的,速度也不是很慢。然后记录了下前驱。刚开...
分类:
其他好文 时间:
2014-10-25 00:53:32
阅读次数:
381
题目大意:自己看中文。。。
思路:不难发现,题目等价于让我们求出一些标号上升的子序列精确覆盖全集,每一个子序列的起点一定是利用“能力爆发” 得到的。
那么我们只需对于每个星球,确定一个前驱就可以了。
若是0作为前驱,则转移代价为定位时间;否则转移代价为路径长度。此外一个点的前驱的标号严格小于自己的标号。
注意0可以作为多个星球的前驱,剩下的星球只能作为一个星球的前驱。
于是转...
分类:
其他好文 时间:
2014-10-24 18:55:35
阅读次数:
368
双向链表概述双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继next和直接前驱prev。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。为了标识链表的头和尾,将第一个元素的prev指针和最后一个元素的next指针设置为NULL要反向遍...
分类:
其他好文 时间:
2014-10-23 14:18:14
阅读次数:
160