摘要: 题目链接:Just a Hook分析:开始学习线段树了,好激动!改了好半天,终于A了。今天写了这个线段树,感觉又有新的体会了。主要是修改和查找。修改函数Update():在修改区间的时候,如果正好和区间对应,则改变当前点的cover值,如果不对应,则要修改的区间必是当前区间的子区间,再当前区间的两个子区间修改就行了,关键点是:先将当前区间cover值赋给它的两个子区间,同时当前区间的cover值要... 阅读全文
posted @ 2010-07-16 22:09 ylfdrib 阅读(526) 评论(0) 推荐(0) 编辑
摘要: 最近做了点并查集的题,感觉也挺简单的。下面对我这段时间关于并查集的学习,做一下小结。并查集的作用:并和查,即合并和查找,将一些集合合并,快速查找或判断某两个集合的关系,或某元素与集合的关系,或某两个元素的关系。并查集的结构:并查集主要操作对象是森林,树的结构赋予它独特的能力,对整个集合操作转换为对根节点(或称该集合的代表元素)的操作,一个集合里的元素关系不一定确定,但相对于根节点的关系很明了,这也... 阅读全文
posted @ 2010-07-16 14:44 ylfdrib 阅读(1245) 评论(0) 推荐(1) 编辑
摘要: 题目链接:食物链中文题目,题意很好理解。类似于poj2492 A Bug's Life在这里动物只有3种A,B,C,如果A吃B,我们可以将A对B的偏移量定为1。这题关键在于用一个数组记录每个点相对于根节点的偏移量,在合并两个集合的时候,注意保持当前两个节点的偏移量差为1, 在路径压缩过程中,依然采用递归形式,将路径上的偏移量层层改变,如果A和B偏移量之差为1, A吃B;如果为0, 表示为同类。关键... 阅读全文
posted @ 2010-07-16 13:56 ylfdrib 阅读(728) 评论(0) 推荐(0) 编辑
摘要: 刚想到两点栈规,先假设有n个数要入栈,这n个数依序分别为1到n。第一点:如果整数x入栈(即x为栈顶元素),则小于x的整数必已入栈。第二点:如果整数y出栈(即y为栈顶元素),则大于y的整数必已出栈。有上述两点规则可知:已知x已出栈,如果y出栈,且y<x,则对于整数z(z>y &&z <= x),z必已出栈。进而可以推出另一个结论:如果y = 1刚出栈, y是第k个出... 阅读全文
posted @ 2010-07-16 13:37 ylfdrib 阅读(2331) 评论(0) 推荐(0) 编辑