下面是一维线段树的例子,它是建立了一棵树,叶子上的value等于在数组中下标为叶子左右节点的值。这个题目是要求输入一个数字序列,然后输入一个区间,求出区间内的值的和。 1 #include 2 #include 3 using namespace std; 4 const int N=1000; 5...
分类:
其他好文 时间:
2014-08-09 13:18:27
阅读次数:
240
Just a Hook
Time Limit: 4000/2000 MS (Java/Others) Memory Limit:
32768/32768 K (Java/Others)
Problem Description
...
分类:
其他好文 时间:
2014-08-09 11:44:07
阅读次数:
308
解题报告
题意:
原本区间1到n都是1,区间成段改变成一个值,求最后区间1到n的和。
思路:
线段树成段更新,区间去和。
#include
#include
#include
using namespace std;
int sum[500000],lz[500000];
void push_up(int root,int l,int r)
{
sum[root]=sum...
分类:
其他好文 时间:
2014-08-09 11:39:47
阅读次数:
343
题目地址:HDU 1698
区间替换裸题。同样利用lazy延迟标记数组,这里只是当lazy下放的时候把下面的lazy也全部改成lazy就好了。
代码如下:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using na...
分类:
其他好文 时间:
2014-08-09 11:39:07
阅读次数:
192
Billboard
Time Limit: 20000/8000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 10676 Accepted Submission(s): 4728
Problem Description
At the entrance to...
分类:
其他好文 时间:
2014-08-09 11:36:07
阅读次数:
259
反素数:
对于任何正整数x,起约数的个数记做g(x).例如g(1)=1,g(6)=4.
如果某个正整数x满足:对于任意i(0
ZOJ 2562 反素数
因为写了POJ 2886的线段树,然后里面有反素数,以前没遇到过,所以先搞这两题普及一下知识再说。
#include
#include
#include
#include
#include
#include
#include
#i...
分类:
其他好文 时间:
2014-08-09 11:35:17
阅读次数:
271
题意:题意很清楚;
策略;如题。
这道题就是简单的线段树应用,据说还可以用树状数组来做,等我学了之后在说吧。
代码:
#include
#include
#define LC l, m, rt<<1
#define RC m+1, r, rt<<1|1
#define LL long long
#define MAXN 1000000
LL sum[MAXN<<2];
void PushU...
分类:
其他好文 时间:
2014-08-09 11:35:07
阅读次数:
219
Potted FlowerTime Limit: 2000 MS Memory Limit: 65536 KB64-bit integer IO format: %I64d , %I64u Java class name: Main[Submit] [Status] [Discuss]Descrip...
分类:
其他好文 时间:
2014-08-09 11:27:07
阅读次数:
318
关于主席树:主席树(Chairman Tree)是一种离线数据结构,使用函数式线段树维护每一时刻离散之后的数字出现的次数,由于各历史版本的线段树结构一致,可以相减得出区间信息,即该区间内出现的数字和对应的数量,由于在线段树内,左子树代表的数字都小与右子树,便可像平衡树一样进行K大询问。新建一颗树是\...
分类:
其他好文 时间:
2014-08-09 09:02:57
阅读次数:
350
思路:与我发表的上一遍求和的思想一样 只是现在变成求最大值而已
AC代码:
#include
#include
#include
#include
#include
using namespace std;
inline int Max(int a, int b)
{
return a > b ? a : b;
}
const int MAXN = 200001; // 区间范围
str...
分类:
其他好文 时间:
2014-08-09 02:39:46
阅读次数:
251