容易理解但是难打(又长又难调) 仅代表个人观点 (能别打就别打) 线段树是什么? 大概长这样?(表示区间1到6) 线段树是一颗二叉树,是通过二分思想建立的一颗表示区间关系的树形结构。(总之记住它很好用就对了) 怎样建一颗线段树 大概思路: 二分+递归 没什么好讲的,具体看代码吧。。 表示区间[1,n ...
分类:
其他好文 时间:
2019-09-17 23:01:35
阅读次数:
222
这个题其实也是很简单的莫队,题目要求是给一个序列,询问l-r区间内部,找到有多少对答案满足 i < j 并且 | a[ i ] -a[ j ] | <=k 也就是有多少对,满足差值小于k的个数。 把这个式子展开,其实就是-k<= a[ i ] -a [ j ] <= k 也就是 a[ j ] -k ...
分类:
其他好文 时间:
2019-09-16 23:14:31
阅读次数:
113
【TimeGate】 https://www.luogu.org/problem/P3608 【解题思路】 单点修改+区间查询,用树状数组来维护f数组即可 【code】 ...
分类:
其他好文 时间:
2019-09-15 01:24:26
阅读次数:
93
1 #include<cstdio> 2 #include<algorithm> 3 #include<string.h> 4 #include<math.h> 5 #include<queue> 6 #include<iostream> 7 using namespace std; 8 const... ...
分类:
其他好文 时间:
2019-09-11 20:01:42
阅读次数:
74
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 54923 Accepted Submission(s): 25566 Problem Descr ...
分类:
其他好文 时间:
2019-09-11 19:55:24
阅读次数:
83
"题目描述" 思路 代码 c++ include include long long n, m; struct { long long at[1000005], arr[1000005 1; this build(k build(k add(k, l, r, v); return; } int mi ...
分类:
其他好文 时间:
2019-09-09 22:35:24
阅读次数:
106
I 题 query 题目链接 题目大意是给一个N(<=1e5) permutation p (下标从1开始) , 现在定义一种pair( i ,j) ,其满足 min(pi?,pj?)=gcd(pi?,pj?),现在有M (<=1e5) 组区间查询[l,r]询问 满足 l <= i < j <= r ...
分类:
其他好文 时间:
2019-09-09 19:22:51
阅读次数:
89
树状数组:单点修改,区间查询 树状数组:区间修改,单点查询 树状数组:区间修改,区间查询 二维树状数组: 单点修改,区间查询 二维树状数组: 区间修改,区间查询 ...
分类:
编程语言 时间:
2019-09-09 10:24:44
阅读次数:
81
树状数组常数比线段树小很多啊……还好写……有必要总结一下。 单点修改,区间查询 不废话,代码: cpp include using namespace std; int q,x,y; int n,m,a[500005],c[500005]; void update(int x,int k) { wh ...
分类:
编程语言 时间:
2019-09-08 20:33:14
阅读次数:
94
区间修改+区间查询(线段树板子题) 另外因为1e9内的数开5次根号必定为1或0,所以我们可以提前打表i<=sqrt[1e9], s[i]=sqrt(i)。这样每次改值不必再调用系统的sqrt; 另外这个题有两个坑点,m<=200000,n<=100000,用cout会爆t,还有HYSBZ是Ubunt ...
分类:
其他好文 时间:
2019-09-06 22:45:40
阅读次数:
113