思路分析:
遗憾不知道矩阵的构造。线段树上比较水的矩阵。。。
M[x] = [1 A[x]]
[1 0 ]
就有
[ F[R] ] = M[R] * M[R-1] * ... * M[L+2] * [F[L+1]]
[F[R-1]] ...
分类:
其他好文 时间:
2014-05-13 08:45:03
阅读次数:
270
单点修改树中某个节点,查询子树的性质.DFS序
子树序列一定在父节点的DFS序列之内,所以可以用线段树维护. 1: /* 2: DFS序 +线段树 3: */ 4: 5: #include 6:
#include 7: #include 8: #include 9: #include 10: #in...
分类:
其他好文 时间:
2014-05-12 20:15:56
阅读次数:
317
题目线段树简单题意:区间(单点?)更新,区间求和更新是区间内的数开根号并向下取整这道题不用延迟操作//注意://1:查询时的区间端点可能前面的比后面的大;//2:优化:因为每次更新都是开平方,同一个数更新有限次数就一直是1了,所以可以这样优化#include
#include#define N .....
分类:
其他好文 时间:
2014-05-12 20:01:38
阅读次数:
295
HDU 1394 Minimum Inversion Number (数据结构-线段树)
题目大意:
求逆序数。也就是给你一个序列,每次求逆序数,然再把第一个数放到这个序列的末尾,构成新的序列。问你这n个序列的最小的逆序数。
解题思路:
1、对于每个序列,其原来的逆序数记为 pre , 如果当前把该序列 第一个数 a[0] 移动到尾部,那么新序列的逆序数为 pre-a[i]+(n-a[i]-1)
因为序列中比a[i]大的数有 n-a[i]-1 个,比a[i]小的有 a[i]个。
因此只需求出...
分类:
其他好文 时间:
2014-05-12 07:07:01
阅读次数:
301
HDU 1264 Counting Squares (线段树-扫描线-矩形面积并)
题目大意:
给定你一些矩形左下右上角坐标点,或者左上右下坐标点,求这些矩形的面积并。
解题思路:
利用线段树扫描线的知识,此题不需要离散化。...
分类:
其他好文 时间:
2014-05-12 06:43:25
阅读次数:
442
线段树札记线段树不是区间树,线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。注意他是把一段连续的区间分为单元区间为叶子节点的一颗数,以此为基础,展开一系列牛逼的计算。首先就是如何建立这么一个线段树?如此递归地建立,对于线段树中的每一个非叶子...
分类:
其他好文 时间:
2014-05-11 22:58:35
阅读次数:
458
题意:
给定2个操作
0、把区间的每个数sqrt
2、求和
因为每个数的sqrt次数很少,所以直接更新到底,用个标记表示是否更新完全(即区间内的数字只有0,1就不用再更新了)
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define N 1000...
分类:
其他好文 时间:
2014-05-11 21:02:45
阅读次数:
325
转载请注明出处:http://blog.csdn.net/u012860063
#include
#include
using namespace std;
#define lson l , m , rt << 1
#define rson m + 1 , r , rt << 1 | 1
//lson和rson分辨表示结点的左儿子和右儿子
//rt表示当前子树的根(root),也就是...
分类:
其他好文 时间:
2014-05-11 18:55:14
阅读次数:
277
题目链接:http://poj.org/problem?id=3468
A Simple Problem with Integers
Time Limit: 5000MS
Memory Limit: 131072K
Total Submissions: 56005
Accepted: 16903
Case Time Limit...
分类:
其他好文 时间:
2014-05-11 18:40:16
阅读次数:
301