A Simple Problem with IntegersTime Limit: 5000MSMemory Limit: 131072KTotal Submissions: 67511Accepted: 20818Case Time Limit: 2000MSDescriptionYou have...
分类:
其他好文 时间:
2015-01-25 12:23:44
阅读次数:
157
题目链接:http://poj.org/problem?id=2763题意:定一棵带边权的树,要求支持两种操作:1)询问树中某两点间的距离。2)修改某条边的权值。分析:树链剖分,边权修改,路径求和,将树上信息映射到线段树上则是单点修改,区间求和。。。#include #include #includ...
分类:
其他好文 时间:
2015-01-23 00:38:31
阅读次数:
302
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4027线段树功能:区间修改,区间求和。分析:因为每个数至多开6次平方就变1了,所以对于每一段全为1的线段做lazy标志,若该条线段全为1时,就不用继续往下update,修改复杂度O(6*N),查询O(lo...
分类:
其他好文 时间:
2015-01-22 00:01:01
阅读次数:
470
题目连接:http://poj.org/problem?id=3468线段树功能:update:成段增减 query:区间求和。分析:需要用到延迟标记(或者说懒惰标记),简单来说就是每次更新的时候不要更新到底,用延迟标记使得更新延迟到下次需要更新or询问到的时候。#include#include#i...
分类:
其他好文 时间:
2015-01-21 23:55:40
阅读次数:
204
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1394线段树功能:update:单点增减 query:区间求和分析:如果是0到n-1的排列,那么如果把第一个数放到最后,对于这个数列,逆序数是减少a[i],而增加n-1-a[i]的,所以每次变化为res+...
分类:
其他好文 时间:
2015-01-21 23:51:52
阅读次数:
248
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1166线段树功能:update:单点增减 query:区间求和#pragma comment(linker,"/STACK:102400000,102400000")#include #include #...
分类:
其他好文 时间:
2015-01-21 22:19:28
阅读次数:
160
http://poj.org/problem?id=3468
区间求和操作 ,一个区间加操作。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define ll(ind) (ind<<1)
#d...
分类:
其他好文 时间:
2015-01-21 13:32:45
阅读次数:
123
实现功能——1:区间开根;2:区间求和(此模板以BZOJ3038为例)作为一个非常规的线段树操作,其tag也比较特殊呵呵哒 1 var 2 i,j,k,l,m,n:longint; 3 a,b:array[0..500000] of int64; 4 function max(x,y:l...
分类:
编程语言 时间:
2015-01-21 01:14:55
阅读次数:
458
实现功能——1:区间覆盖值;2:区间求和相比直接的区间加,这个要注重顺序,因为操作有顺序之分。所以这里面的tag应该有个pushup操作(本程序中的ext) 1 var 2 i,j,k,l,m,n,a1,a2,a3,a4:longint; 3 a,b,d:array[0..100000]...
分类:
编程语言 时间:
2015-01-20 23:55:10
阅读次数:
228
实现功能——1:区间加法 2:区间乘法 3:区间覆盖值 4:区间求和这是个四种常见线段树功能的集合版哦。。。么么哒(其实只要协调好三种tag的关系并不算太难——前提是想明白了线段树的工作模式)代码长度几经修改后也大为缩水 1 type vet=record 2 a0,a1:longin...
分类:
编程语言 时间:
2015-01-20 23:52:31
阅读次数:
359