链接:
huangjing
题目:中文题目
思路:
这个题目如果去掉那个距离大于d的条件,那么必然是一个普通的LIS,但是加上那个条件后就变得复杂了。用dp的解法没有看懂,我用的线段树的解法。。。就是采用延迟更新的做法,用为距离要大于d啊,所以我们在循环到第i的时候,就对(i-d-1)这个点进行更新,因为如果在(i-d-1)这个点更新了,会对后面的造成影响,然后线段树的tree【】数...
分类:
其他好文 时间:
2014-10-24 23:38:55
阅读次数:
338
题意 :每层都有2个门,每个门后面都能通向下一层的两个门,有两个操作 ,第一个 问 从a层到 b层的方法数,第二个 修改 其中某门通向某门的状态。线段树单点更新,就是 前面那个连通性矩阵有点厉害,看了题解才知道。#include #include #include #include #include...
分类:
其他好文 时间:
2014-10-21 17:13:52
阅读次数:
238
题目链接:
huangjing
题目意思:
给出n头牛的活动区间,比如区间[SI,sj]和[EI,EJ],如果前面一个区间完全包含另外一个区间那么说明前一头牛比后一头牛强壮。
思路:根据区间的右区间数来建树,然后用sum[]来维护牛在这些右区间的头数。首先要根据牛的区间顺序进行排序,当然从左像右排序,那么后面进行查询比自己强的牛的时候那么就只用找右区间比自己大的就可以了。那么如何更新呢...
分类:
其他好文 时间:
2014-10-19 23:18:34
阅读次数:
250
这道题是线段树入门题,其问题是单点更新,线段查询。
这里本来还打算用lazy标记做一下,但是不行,必须更新到单点
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using n...
分类:
其他好文 时间:
2014-10-19 11:43:00
阅读次数:
190
题目链接:
huangjing
题意:给了三种操作
1:add(x,y)将这个点加入二维坐标系
2:remove(x,y)将这个点从二维坐标系移除。
3:find(x,y)就是找到在(x,y)右上方的第一个点。
思路:我们可以建立n个set以x为横坐标,那么我们这个题就转化为找一个最小的x是否存在满足条件,那么x一旦被找到,那么纵坐标就自然而然的找到了,当然更新操作就是对maxy的...
分类:
其他好文 时间:
2014-10-17 09:06:24
阅读次数:
193
题目链接:Codeforces 85D - Sum of Medians
题目大意:N个操作,add x:向集合中添加x;del x:删除集合中的x;sum:将集合排序后,将集合中所有下标i % 5 = 3的元素累加求和。
解题思路:线段树单点更新,每个点维护5个值,分别表示从该段区间中i % 5 = t的和。然后两端区间合并时只需要根据左孩子中元素的个数合并。所以有一个c表示区间上元...
分类:
其他好文 时间:
2014-10-11 19:19:36
阅读次数:
245
题目链接:
huangjing
思路:
因为给出了n条插入,所以如果正推的话,那么后面插的会影响到最后所在的位置,所以考虑逆序解决,那么如果此人站在第i个人的位置,那么这个人前面必然有i个空位置没占,因为是从后向前考虑的,所以每次更新的时候就要考虑在前面存在i个空位的位置后插入这个人,那么最后得到的序列就是满足条件的。。
题目:
Language:
Defaul...
分类:
其他好文 时间:
2014-10-10 11:43:04
阅读次数:
238
Description
Railway tickets were difficult to buy around the Lunar New Year in China, so we must get up early and join a long queue…
The Lunar New Year was approaching, but unluckily the Little ...
分类:
其他好文 时间:
2014-10-05 01:33:37
阅读次数:
349
题意:。。。
策略如题。
思路:我们先假设只求某一区间的最大值,我们只需要利用线段树的模板,只需要初始化和询问的时候小小的修改一下,改成祖先结点储存的不再是子节点的和而是两个子节点之间的最大值,这样我们可以求出最大值了,最小值也是这样求。
注意:因为询问的时候既要求最大值又要求最小值,所以要返回结构体。
代码:
#include
#include
#define M 100005...
分类:
其他好文 时间:
2014-09-29 01:29:28
阅读次数:
302
Uva 12299 RMQ with Shifts(线段树 + 单点更新)题意: 对于给定的序列 x[i]给出一个操作 shift(a,b,c,d,e) 对应的是将 x[a]与x[b] x[b]与x[c] 这样相邻的两两交换For example, ifA={6,2, 4,8,5, 1,4}then...
分类:
其他好文 时间:
2014-09-25 02:49:27
阅读次数:
392