题目链接:POJ 1195 题意: 给出一个S*S的矩阵(行、列号从1开始),每个元素初始值为0,有两种操作:一种是第X行第Y列元素值加A;另一种是查询给定范围矩阵的所有元素之和(L<=X<=R,B<=Y<=T)。 分析: 查询给定范围矩阵的所有元素之和是二维区间和,可以转换为二维前缀和求值。类比一 ...
分类:
编程语言 时间:
2017-08-15 00:32:37
阅读次数:
319
虽然说这道题线段树很好做,但毕竟树状数组常数小又好写,所以还是写个模板吧。 区间加转为前缀加 区间和转为前缀和 我们讨论一个1~k的区间加x对于一个前缀和val【i】的影响 对于所有k<i的更新,对val[i]的贡献为val[i]+=k*x 对于所有k>=i的更新,对val[i]的贡献为val[i] ...
分类:
编程语言 时间:
2017-08-12 15:28:43
阅读次数:
203
线段树の一 区间和 具体线段树讲解:(搬运)http://blog.csdn.net/zearot/article/details/48299459 一:线段树基本概念 1:概述 线段树,类似区间树,是一个完全二叉树,它在各个节点保存一条线段(数组中的一段子数组),主要用于高效解决连续区间的动态查询 ...
分类:
其他好文 时间:
2017-08-11 13:31:49
阅读次数:
140
敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 59427 Accepted Submission(s): 25098 Problem ...
分类:
其他好文 时间:
2017-08-11 10:50:17
阅读次数:
185
T1 维护lmax 向左延伸的最大值,rmax同理,sum区间和,ans答案。 转移见operator + T2.维护区间去重之后最大值。 同多校2017#404记录前一个状态,然后一个一个加入,维护一个后缀和 T3.同t1多了一个修改 T4.区间开方求和,由于发现sqrt(1e18)嵌套6重向下取 ...
分类:
编程语言 时间:
2017-08-05 21:09:37
阅读次数:
154
二分法: 动归: 最大, 最小, 不能排序, 而且是求区间和的改写, 先考虑用一维动归, dp[m]表示分为m组, 写不出状态转移方程. 并且, 这是最大值最小的问题, 先找最大, 再找最小, 所以用二维数组, 题中就是组数, 和第几个人是变量, 因此dp[m][n] 表示将n个人分为m组的结果值, ...
分类:
其他好文 时间:
2017-08-03 20:30:40
阅读次数:
150
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5172 题意: 给你一个n个数的数组,m次询问,询问在[L, R] 这个区间里面有没有 [1, R-L+1] 的数。 题解: 判断有没有 1 ~ R-L+1 其实就是判断这一段区间和是不是等于 (R-L+ ...
分类:
其他好文 时间:
2017-07-31 22:56:48
阅读次数:
254
一看就知道 可以LCA判断做 也可以树链剖分拿头暴力 然而快速读入和线段树维护区间会T70 于是只能LCA? 线段树的常数不小 于是需要另外一种办法来进行区间加减和查询区间和 就是使用树状数组 这个题的代码 其中的树状数组 拿两个数组来分别维护 具体代码 树状数组天下无敌TAT 于是又上网学习了新姿 ...
分类:
编程语言 时间:
2017-07-29 14:09:48
阅读次数:
188
题目:https://www.codechef.com/problems/FNCS 题解: 我们知道要求区间和的时候,我们用前缀和去优化。这里也是一样,我们要求第 l 个函数到第 r 个函数 [l, r] 的函数和,那么我们可以用 sum[r] - sum[l-1] 来求得。 由于这个数据量有点大, ...
分类:
编程语言 时间:
2017-07-25 22:38:59
阅读次数:
348