题目大意:线段树的区间更改与查询,但是涉及到两种区间修改方式,一是给区间中的数全部加上一个数,二是将一个区间全部置为同一个数,然后询问整个区间和。 题目分析:处理好set操作和add操作的先后顺序就OK了。 代码如下: ...
分类:
其他好文 时间:
2016-05-16 12:25:52
阅读次数:
179
题意简述给定n个数a[i] n<=10^5 1<=a[i]<=10^9
m次询问 m<=10^6
每次循环第l个数到第r个数之间,数的大小在[k,w]中的数的个数分析题目求的是一个二维区间和
二维树状数组?
然而n在10^5的数量级 时间与空间承受不了二维树状数组能同时支持询问和修改
然而这题套用二维BIT的话并不需要随时修改
使用二维BIT未免大材小用了再仔细分析题目
题目后...
分类:
其他好文 时间:
2016-05-13 00:19:59
阅读次数:
136
这种问题先对区间和线段进行排序,排序方法见代码cmp
然后分析其中一个点,用sum求值
poj 3067
Description
Japan plans to welcome the ACM ICPC World Finals and a lot of roads must be built for the venue. Japan is tal...
分类:
编程语言 时间:
2016-05-12 18:46:21
阅读次数:
263
题目链接:点击打开链接
思路:统计区间和, 我们想到了树状数组, 离散化后, 枚举第一个人选取的x坐标, 用两个树状数组,以y坐标为下标建树, 一个表示当前左边的情况, 一个表示右边的情况, 再枚举当前垂直线上的每个点, 可以用树状数组快速统计结果, 该题题意挺难理解的, 要求输出第一个人的最小得分的最大值ans, 还有就是当第一个人取ans时第二个人的可能得分。
细节参见代码:
#incl...
分类:
编程语言 时间:
2016-05-12 16:22:46
阅读次数:
165
题意对于一个给定的序列有3种操作:
1.给一个区间的数乘c
2.给一个区间的数加c
3.查询区间和。思路就是普通的线段树区间更新,因为更新操作有两种,维护两个延迟标记就可以了,不过要注意乘和加在更新时相互之间的关系,在更新乘的时候之前加的数也要相应的乘,更新加的时候之前所乘的数没有改变。代码#include
#include
#include <ios...
分类:
其他好文 时间:
2016-05-12 15:09:07
阅读次数:
163
描述 这个问题就是最大值子区间和的二维问题。 最大子区间和是说给你一个数组,然后让你找一个连续的子区间,让这个区间的数的和最大。很经典的简单DP。题目可以参考这个链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=44。 一维问题的解决思路是,ma ...
分类:
其他好文 时间:
2016-05-01 20:29:29
阅读次数:
256
描述 分析 尺取法. 一眼看过去就是用尺取法找和t绝对值相差最小的区间和,但是这道题里的序列并不是非负的,这意味着固定左端点,移动右端点时,区间和不是单调递增的.尺取法的模板题中区间和是单调的,所以找到大于某一值的区间右端点就可以固定.而这道题中因为存在负值,所以区间的变化不是单调的,不能按照普通的 ...
分类:
其他好文 时间:
2016-04-23 01:33:15
阅读次数:
211
描述 分析 尺取法. 定义区间左右端点l和r.l从1开始循环到n,r向后移动,直到区间和 >=s,此时为左端点为l时的最短长度.对于左端点为l+1的情况,使得 区间和>s的右端点一定>=r,就让r右移直到满足条件.如果r=n仍无法 满足,那对于之后的l都无法满足,即可break. 此题用二分O(nl ...
分类:
其他好文 时间:
2016-04-22 23:55:18
阅读次数:
185
题意:给出n个数字,操作有修改(S)和输出区间和(M)。 分析:BIT模版题,,就是单点更新要转换成区间更新(因为BIT的每个节点都是对应区间,而不是单独 一个节点),输入输出格式本来弄错了,,题目说的是在两个case之间输出一个空格 ...
分类:
编程语言 时间:
2016-04-21 01:28:15
阅读次数:
228
题目大意: SDOI求一个区间内只出现一次的数的个数。多组询问。 HEOI 求一个区间内出现至少两次的数的个数。多组询问。 SDOI HH'neckplace如果每次询问都是1..r的话,那么我们只要把每种颜色的第一次出现的位置变成1,然后维护区间和就可以了。这是显然的。那么现在考虑如果区间变成2. ...
分类:
其他好文 时间:
2016-04-16 18:46:54
阅读次数:
164