题目传送门 1 /* 2 线段树基本功能:区间最大值,修改某个值 3 */ 4 #include 5 #include 6 #include 7 #define lson l, m, rt > 1;32 build (lson);33 build (rson);34 ...
分类:
其他好文 时间:
2015-05-15 19:43:59
阅读次数:
102
题目传送门 1 /* 2 线段树基本功能:区间值的和,修改某个值 3 */ 4 #include 5 #include 6 #define lson l, m, rt > 1;25 build (lson);26 build (rson);27 pushup (r...
分类:
编程语言 时间:
2015-05-15 19:29:18
阅读次数:
133
题目传送门 1 /* 2 主要利用线段树求区间最值,sum[]代表位置可用空间 3 每次找到最大值的位置 4 功能:查询最靠前能容纳广告的位置 5 */ 6 #include 7 #include 8 #include 9 #define lson l, m, rt >...
分类:
其他好文 时间:
2015-05-15 19:18:33
阅读次数:
123
题目传送:操作格子
思路:简单线段树,单点更新,区间求和以及最值
AC代码:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define LL long long
#define...
分类:
其他好文 时间:
2015-05-14 10:08:48
阅读次数:
213
题目传送:Multiply game
思路:简单线段树,单点更新,区间求积,这是上次选拔赛选的题,一看题就是线段树,不过当时线段树不太熟,没敢敲,现在看来居然如此轻松,不过注意这里有大量输出,用printf,居然在这里TLE了一次。。。
AC代码:
#include
#include
#include
#include
#include
#include
#inc...
分类:
其他好文 时间:
2015-05-14 08:44:50
阅读次数:
135
题目传送:Minimum Inversion Number
思路:线段树,求最小逆序数,先可以通过n*logn的时间用线段树求出初始的逆序对数,然后递推求出其他的解,递推过程看代码
AC代码:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#i...
分类:
其他好文 时间:
2015-05-13 14:49:06
阅读次数:
158
RMQ with Shifts时间限制:1000ms | 内存限制:65535KB难度:3描述In the traditional RMQ (Range Minimum Query) problem, we have a static array A. Then for each query (L,...
分类:
其他好文 时间:
2015-05-03 22:00:04
阅读次数:
104
倒着插,倒着插,这道题是倒着插!想一下如果 Posi 里面有若干个0,那么排在最前面的一定是最后一个0.从后往前看,对于第i个数,就应该插在第Posi + 1个空位上,所以用线段树来维护区间空位的个数。说一下那个坑爹的第56行的判断:if(i > 1) printf(" ");将输出的n个数用空格隔...
分类:
其他好文 时间:
2015-04-26 10:47:07
阅读次数:
140
h*w的木板,放进一些1*L的物品,求每次放空间能容纳且最上边的位子。每次找能放纸条而且是最上面的位置,询问完以后可以同时更新,所以可以把update和query写在同一个函数里。 1 #include 2 #include 3 #include 4 using namespace std; ...
分类:
其他好文 时间:
2015-04-26 09:11:20
阅读次数:
104
和上一道题没什么变化,只不过把单点增减变成了单点替换,把区间求和变成了区间求最大值。 1 #include 2 #include 3 using namespace std; 4 5 const int maxn = (1 = R) return _max[o];31 int ans ...
分类:
其他好文 时间:
2015-04-25 19:44:05
阅读次数:
130