2020.3.16 8.freopen调试的时候可以去掉,但是提交的时候记得开起来! 7.线段树维护区间和 开long long ! 开long long ! 开long long ! 2020.3.10 6.多组数据的 初始化! (多次导致程序直接崩溃) 2020.2.28 5. 线段树的标记是累 ...
分类:
其他好文 时间:
2020-03-16 14:27:05
阅读次数:
50
# 题意长度为n的整数序列,从中找出一段长度不超过m的连续子序列,使得子序列中所有数的和最大 # 题解区间和问题,转化为两个前缀和相减的形式进行求解。枚举右端点贪心法求解,只需要对下标和前缀应用单调队列,在队列中下标位置递增,前缀和s也递增,假如右端点r固定,找到一个左端点ll,要求j∈[i?m,i ...
分类:
其他好文 时间:
2020-03-15 09:30:35
阅读次数:
52
题目 思路 一个区间可以用[start,end]来表示,基于start对整个数组进行排序。 如果相邻的两个区间a和b存在a.end小于b.start的情况,则两区间无交集。 否则,有交集。对于区间a和b产生的合并区间p,p.start一定是这两区间中start最小的,p.end一定是这两区间中end ...
分类:
编程语言 时间:
2020-03-14 21:50:26
阅读次数:
76
Binary Indexed Tree的作用 Binary Indexed Tree(BIT)现多用于高效计算数列的前序和,区间和。它可以在O(logn)的时间得到任意的前序和(prefix sum)。如一个array[2,5,-1,3,6],要计算第2个元素到第4个元素的和:5+-1+3=7。 B ...
分类:
编程语言 时间:
2020-03-10 01:41:19
阅读次数:
57
"Link" 题意: 求最大区间和所在区间是不是 $1 \sim n$ 思路: 设 $dp[i]$ 是以 $i$ 为右端的最大区间和 $dp[i]=max(dp[i 1]+a[i],a[i])$ 代码: ...
分类:
其他好文 时间:
2020-03-02 22:50:18
阅读次数:
84
链接:Miku 去除题面,这就是一道线段树板子题,暴力枚举每一个区间然后去最大值就可以了 有星星重叠?本来就是在那个点加上去,继续加就可以了 这就是道裸的区间和+单点修改 以及,为了省事,我的线段树直接把右端点搞成了100000,毕竟一堆零没有任何影响 #include<iostream> #inc ...
分类:
其他好文 时间:
2020-02-23 20:31:55
阅读次数:
69
题目描述首先明确一下题意,先输入两个整数n、m,n代表在区间[-1e9,1e9]某一点加一个整数的次数,输入x c在x处加上c,m代表求某个区间和的次数,输入l r求区间[l,r]的和。 分析分析一下y总的代码。 主要分为5大步:1.读输入。将每次读入的x c push_back()到add中,将每 ...
一、冒泡排序的原理冒泡排序:将待排序的一组数分为有序区间和无序区间。先在无序区间通过相邻数的比较,将无序区间的最大数依次冒泡到最上面,持续这个过程,直到整组数有序。二、图解分析以[3,0,5,4,1,2]为例,进行冒泡排序。第一趟:从下往上依次两两比较,将最大数交换到最上面,第一趟完成后橙色部分为已排好的部分。第二趟:比较方法同上,橙色部分为排好的区间,我们发现有序区间比第一趟的有序区间多一个数。
分类:
编程语言 时间:
2020-02-21 22:02:23
阅读次数:
81
给出一个区间的集合,请合并所有重叠的区间。 示例 1: 输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6]. 示例?2: 输入: [[1,4],[4,5]] ...
分类:
其他好文 时间:
2020-02-12 00:53:10
阅读次数:
66
毕生所学。 1 const int N = 2e5 + 10; 2 #define lson rt << 1 // == rt * 2 左儿子 3 #define rson rt << 1 | 1 // == rt * 2 + 1 右儿子 4 #define int_mid int mid = tr ...
分类:
其他好文 时间:
2020-02-09 14:41:56
阅读次数:
166