先用数组记录前缀和,然后减去两者的差值。 由于数组形成的是个环,所以累加和是固定的,反方向的距离实际就等于总长度减去正向的长度 注意distan的实际含义 #include<cstdio> #include<algorithm> using namespace std; const int N = ...
分类:
其他好文 时间:
2020-09-15 21:02:52
阅读次数:
34
JAVA: public final int maxNonOverlapping(int[] nums, int target) { int re = 0; int point = 0; while (point < nums.length) { int sum = 0; Set<Integer> ...
分类:
编程语言 时间:
2020-09-03 17:04:17
阅读次数:
49
dp[i] = max_{j ∈ [i-R,i-L]}( dp[j] + v(j+1,i) )。做前缀和后,对每种s[j]的值,开一个单调队列。每次将i-L入队、将i-R-1出队。用线段树维护每个队列的队首。转移时最区间最大值查询。 ...
分类:
其他好文 时间:
2020-08-17 16:57:59
阅读次数:
68
线段树优化建图板子题。。。。。。 暴力建边 \(\mathcal O(n^2)\) 肯定会 TLE 但仔细分析可以发现,题面中有一个我们非常熟悉的字眼“区间”,这启示我们,可不可以以此作为解题的突破口呢? 答案是肯定的。想到区间我们可以联想到各种我们很熟悉的 trick,如前缀和、差分、线段树等。 ...
分类:
其他好文 时间:
2020-08-11 10:42:25
阅读次数:
71
如果您看到这里什么内容都没有,不必感到疑惑。 因为它就是什么都没有。 理论篇 一.决策单调性优化:单调栈/单调队列/斜率/四边形不等式优化 咕了。 二.数据结构优化:前缀和/线段树/树状数组优化 咕了。 三.其他优化:滚动数组/矩阵乘法/各式各样的推式子优化 咕了。 ...
分类:
其他好文 时间:
2020-08-06 22:02:51
阅读次数:
91
where、set、trim 三个标签都是为了解决 MyBatis 在动态生成 SQL 时,产生了多余的前缀和后缀的问题。 where实例 <select id="selectUserByIdAndName" resultType="com.imooc.mybatis.model.User"> SE ...
分类:
其他好文 时间:
2020-08-01 12:32:23
阅读次数:
62
####一句话:树状数组NB QWQ日常操作:一些乱七八糟的话 老实说,之前没有学到树状数组的时候,手边只有线段树这个工具。感觉还是蛮好用的?就一直没有去学。后来一个偶然的机会,我做到了一道题,又偶然的看了这道题的树状数组的解法,从此走上了不归路。(啊这...) 其实真的去说,开始没有接触到树状数组 ...
分类:
编程语言 时间:
2020-07-28 22:48:47
阅读次数:
79
链接 题目大意 给定 \(f_{1,i}\),令 \(f_{i,j}\) 等于 $f_{i-1,j} $ 在 \(f_{i-1,k}\ ,\ 1\leq k\leq j\) 中出现的次数。 动态修改 \(f_{1,i}\),查询 \(f_{i,j}\)。\(n,q\leq 10^5\)。 题解 首先 ...
分类:
其他好文 时间:
2020-07-28 17:06:40
阅读次数:
74
AcWing 795. 前缀和 #include <bits/stdc++.h> using namespace std; const int N=1e6+10; int a[N],S[N]; int main(){ int n,m; scanf("%d%d",&n,&m); for(int i=1 ...
给你一个整数数组 arr 。请你返回和为 奇数 的子数组数目。 由于答案可能会很大,请你将结果对 10^9 + 7 取余后返回。 示例 1: 输入:arr = [1,3,5] 输出:4 解释:所有的子数组为 [[1],[1,3],[1,3,5],[3],[3,5],[5]] 。 所有子数组的和为 [ ...
分类:
编程语言 时间:
2020-07-26 19:31:52
阅读次数:
66