题意:长度为n的区间,m个操作,一开始都是0 1 x表示求出长度为x的0的连续区间的最左端,并把这个区间变成1 2 x y表示将区间[x,y]变成0 线段树的区间合并第一题: 每次维护左端连续区间长度ls、右端连续区间长度rs,最大连续长度ms 区间合并的注意点主要在push up操作: 每次更新了 ...
分类:
其他好文 时间:
2018-07-27 21:43:25
阅读次数:
213
单调队列 求长度为M的区间内的最大(小)值 单调队列的基本操作,也就是经典的滑动窗口问题。 求长度为M的区间内最大值和最小值的最大差值 两个单调队列,求出长度为M的区间最大最小值的数组,分别求最大最小值。 求边长为a的正方形内最大值和最小值的最大差值([HAOI2007]理想的正方形) 一个大体的思 ...
分类:
其他好文 时间:
2018-07-25 10:20:04
阅读次数:
119
解决这个问题,采用前缀和平扫的时间复杂度为O(n^2),本文分治法的时间复杂度为O(n*log*(n)) 前缀和平扫首先对n个数做前缀和,接下来利用前缀和枚举每一个区间即可 分治法的代码实现如下: 具体实现原理将在后续补充。 ...
分类:
其他好文 时间:
2018-07-13 17:34:55
阅读次数:
215
Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in th... ...
分类:
其他好文 时间:
2018-07-11 22:58:02
阅读次数:
243
目的 : 加强类与对象的内存分配理解,加强操作能力、理解数据结构。 结构 : 数据元素之间的关系。 数据结构 : 带有结构的数据对象。 线性结构: 各数据元素之间的逻辑以用一个线性序列简单的表达出现。反之为非线性结构。 按逻辑结构分为 : 线性结构与非线性结构。 线性结构包括:线性表-数组(顺序表) ...
分类:
编程语言 时间:
2018-07-11 19:43:15
阅读次数:
116
L - 最大连续子序列 给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, Ni+1, ..., Nj },其中 1 <= i <= j <= K。最大连续子序列是所有连续子序列中元素和最大的一个, 例如给定序列{ -2, 11, -4, 13, -5, - ...
分类:
其他好文 时间:
2018-07-06 20:52:18
阅读次数:
180
题意: 一条线上的点,D x是破坏这个点,Q x是表示查询以x所在的最长的连续的点的个数,R是恢复上一次破坏的点。 解析: 线段树结点 设置一个 lq记录区间左端点开始的最大连续个数, rq 记录区间右端点开始的最大的连续个数 其它和原来一样即可 看代码吧。。。 #include <iostream ...
分类:
其他好文 时间:
2018-06-29 18:29:29
阅读次数:
252
求一个整数数组中和最大的连续子数组,例如:[1, 2, -4, 4, 10, -3, 4, -5, 1]的最大连续子数组是[4, 10, -3, 4](需写明思路,并编程实现)
$arr = [ 1 , 2 , -4 , 4 , 10 , -23 , 4 , -5 , 1]; $max_sum = 0; $sum=0; $new = []; $i = 1; echo ''; foreach( $arr as $key => $value ){ if($sum<0){ uns... ...
分类:
编程语言 时间:
2018-06-14 21:07:42
阅读次数:
163
抛出问题: 求一数组如 l = [0, 1, 2, 3, -4, 5, -6],求该数组的最大连续子数组的和 如结果为[0,1,2,3,-4,5] 的和为7 问题分析: 这个问题很简单,直接暴力法,上代码。 分治法: 关键是暴力法的时间复杂度太高,所以就在原有的基础上做了进一步的提升--分治法。 所 ...
分类:
编程语言 时间:
2018-06-10 11:43:41
阅读次数:
227