题解:从没见过这么XXX的线段树啊。。。T_T我们考虑离线做,按1-n一个一个插入,并且维护区间【 j,i】(i为当前插入的数)j 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include ...
分类:
其他好文 时间:
2015-01-02 21:03:22
阅读次数:
244
一个环,分成 N 个区间,每个区间有个权值,你可以选择 B 个区间,这些区间可以连续也可以不连续。
那么如何使得选中的区间中的权值之和最大。有个限制条件,任何连续的区间,第一个区间的权值是不算的。
比如你选中编号为 k, k + 1, k + 2 的这 3 个区间时,第编号 k 的区间的权值是不算进去的,
只能算后两个区间 k + 1 和 k + 2 区间的权值之和(但是你损耗了 3 个区间...
分类:
其他好文 时间:
2015-01-02 16:04:30
阅读次数:
156
题意:
n、m,n个灯,m次操作
两种操作 0: 这段区间全部状态取反,初始全部为0
1: 询问这段区间有几个灯是亮的。
裸线段树,弱爆了。
#include
#include
#include
#include
#define N 101000
#define inf 0x3f3f3f3f
using namespace std;
struct Se...
分类:
其他好文 时间:
2015-01-02 14:44:29
阅读次数:
227
题意:给出n, k,求分析:假设,则k mod (i+1) = k - (i+1)*p = k - i*p - p = k mod i - p则对于某个区间,i∈[l, r],k/i的整数部分p相同,则其余数成等差数列,公差为-p然后我想到了做莫比乌斯反演时候有个分块加速,在区间[i, n / (n...
分类:
其他好文 时间:
2015-01-02 12:12:56
阅读次数:
176
Description: For a sequenceS1,S2,?,SN, and a pair of integers(i,j), if1≤i≤j≤NandSi#include#define max(a,b) (a>b?a:b)#define min(a,b) (a=R) { ...
分类:
其他好文 时间:
2015-01-02 01:15:49
阅读次数:
245
这些天一直在看线段树,因为临近期末,所以看得断断续续,弄得有些知识点没能理解得很透切,但我也知道不能钻牛角尖,所以配合着刷题来加深理解。 然后,这是线段树裸题,而且是最简单的区间增加与查询,我参考了ACdreamer的模板,在此基础上自己用宏定义来精简了一下代码: 1 #include 2 t...
分类:
其他好文 时间:
2015-01-01 16:00:33
阅读次数:
122
该方法的基本思想是:
1.先从数列中取出一个数作为基准数。
2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。
3.再对左右区间重复第二步,直到各区间只有一个数。
分类:
编程语言 时间:
2015-01-01 12:28:27
阅读次数:
245
题目1088:剩下的树
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:4253
解决:1907
题目描述:
有一个长度为整数L(1
现在要移走一些树,移走的树的区间用一对数字表示,如 100 200表示移走从100到200之间(包括端点)所有的树。
可能有M(1
输入:
两个整...
分类:
其他好文 时间:
2014-12-31 21:35:19
阅读次数:
195
题目大意
有n个数,m个查询,对于每个查询,询问指定区间,有多少个数对的绝对值小于等于2。
解题思路
莫队O^1.5
首先将询问离线处理左端点进行编号,每sqrt(n)个为一组
sort结构体 当左端点编号相同时,比较右端点大小。小的放在前面。
对于每组询问暴力处理,只需处理当前新加入(删除的数字在当前区间内有多少点和它的绝对值只差小于2即可)
唯一要注意的是加点是...
分类:
编程语言 时间:
2014-12-31 20:15:07
阅读次数:
283
Description There is a number of disjoint vertical line segments in the plane. We say that two segments are horizontally visible if they can be conne....
分类:
其他好文 时间:
2014-12-31 19:44:17
阅读次数:
153