线段树的题目,拿来练第一道splay维护区间。 像这种基本的操作修改查询,我现在应该能在20分钟手写好splay再用10分钟调试,基本上不靠模版30分钟应该能出。 //#include<bits/stdc++.h> #include<iostream> #include<cstdio> #inclu
分类:
其他好文 时间:
2016-02-19 06:55:49
阅读次数:
233
Just a Hook 题意:给定一个长度为N(1<=N<=100,000)初始为1的序列;之后有Q次区间修改(0<=Q<=100,000),即将区间的值全部改成v(1<= v <= 3);问最后所有值的和为多少? 线段树区间:先要对线段树的rt与l,r之间的关系清楚,才能很容易的编写出延迟标记的线
分类:
其他好文 时间:
2016-02-16 18:44:04
阅读次数:
176
题目链接:点击打开链接
题意:n条竖直线段,如果两条线段之间可见(即可以用一条水平线段连接而不触碰其他线段),则称它们可见。 如果三条线段任意两条都可见, 则称它们为a triangle of segments, 求a triangle of segments的个数
思路: 一开始真没想到n^3的复杂度可以过。。。 如果这样的话, 问题的关键就是怎样判断任意两个线段是否可见。
那么如果...
分类:
其他好文 时间:
2016-01-19 10:46:56
阅读次数:
139
和白书讲的那道线段树区间修改的第二种类型很相似吧。写不算久;1.在该区间更新说明必定牵涉这个区间,所以直接先pushdown;2.往下传是对子区间的更新;3.如果原来子节点没有标记,那么现在有了,如果原来子节点有标记,那么改了一边又把他改了回来所以没有标记了;--------------------...
分类:
其他好文 时间:
2015-11-27 21:46:49
阅读次数:
272
线段树,区间修改,求区间和把某个区间变成某个值/* ***********************************************Author :Zhou ZhentaoEmail :774388357@qq.comCreated Time :2015...
分类:
其他好文 时间:
2015-11-22 10:01:47
阅读次数:
154
看黄学长的代码理解的。。。因为是一段区间而且涉及到区间修改,而且想到可以区间维护每段中有几个满足是递增的序列。好像符合线段树了吧。。贴一下代码以后才会记住。------------------------------------------------------------------------...
分类:
其他好文 时间:
2015-11-20 23:07:08
阅读次数:
223
Just a HookTime Limit: 4000/2000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 24102Accepted Submission(s): 12063Probl...
分类:
其他好文 时间:
2015-11-18 15:55:58
阅读次数:
113
将输入的Trie建成AC自动机,并建出fail树。那么操作1等价于在给定点的子树的并集里都加1。操作2等价于查询给定点到根节点路径的并集的权值和。求出DFS序后,对于操作1,将点按进入时间戳从小到大排序,然后求出并集,进行区间修改即可。对于操作2,构造给定点集的虚树,在虚树的每一条边上询问权值和,累...
分类:
其他好文 时间:
2015-10-06 01:53:08
阅读次数:
252
通道题意:0-9字符串,区间修改,区间询问是否d周期思路:直接暴力线段树,然后HASH修改和查询,卡HASH的话就双HASH。代码:#include#includetypedef long long ll;const int N = 100007;int n, m, k, lens;char s[N...
分类:
其他好文 时间:
2015-09-23 21:10:48
阅读次数:
256
嗯嗯,这是一道线段树的题,询问区间内亮着的灯的个数,我们可以把区间修改的线段树改一下,原本的求和改成若有奇数次更改则取反(总长度-亮着的灯个数),而判断是否奇数次只要数组加一个delta的值,update的时候delta xor 1 就够了,代码如下。 1 type 2 tpoint=recor.....
分类:
其他好文 时间:
2015-09-20 13:00:48
阅读次数:
170