给定长为$n$的序列$A_i$,两种操作:
1. 将某个数$A_i$修改为$v$。
2. 查询用区间$[l,r]$内的数不能组成的最小的数(能组成$v$是指存在一个$[l,r]$的子集$s$使$s$的和等于$v$)。
$n,A_i\leq 2\times10^5$。 ...
分类:
编程语言 时间:
2020-12-10 10:50:09
阅读次数:
4
想了很久没想出来,无奈之下看了题解。 如果 a[i] < a[j] ,因为要保证都是整数,所以 j - i 必须要小于 a[j] - a[i] ,才能使区间 i,j 内的所有数均可修改。 j - i < a[j] - a[i] 移项得 a[i] - i < a[j] - j。 所以 a[i] 里要存 ...
分类:
其他好文 时间:
2020-12-09 12:09:28
阅读次数:
5
SP23776 题意: 给出一个长度为 \(n\) 的序列,\(q\) 个询问,询问 \([i,j]\) 区间大于 \(k\) 的数的个数,强制在线 做法: 其实就是这题的强制在线版 很裸的一道主席树,甚至可以说是模板题,直接上主席树的板子即可 查询时如果$k>mid$,说明左儿子中的数都比$k$要 ...
分类:
其他好文 时间:
2020-12-09 11:49:34
阅读次数:
4
发现提交记录全用的是nth_element...(真就STL依赖症?) 提供一种 \(\mathcal O(n)\) 的分治算法。 Solution 我们可以用类似快排的方式。在快排的分治中,若双指针(\(i,j\))已经扫描完这段区间 \([l,r]\),即 \(i\) 已经大于 \(j\),就会 ...
分类:
其他好文 时间:
2020-12-08 12:34:42
阅读次数:
6
dpdp+树状数组O(n lg n)O(n lg n) 注意到我们在状态转移的时候要枚举f[j]f[j]的最大值来转移,我们可以考虑使用数据结构来维护从而优化一下,只要是支持单点修改和区间最值查询的数据结构都可以这么做,分块(O(nn??√))(O(nn))和树状数组(O(n lg n))(O(n ...
分类:
其他好文 时间:
2020-12-07 12:29:58
阅读次数:
6
一维差分模板——差分数列 一维差分: 设有一个序列a1,a2,a3,?,a4 我们定义一个新的序列: b数组就是a数组的差分数组 差分的前缀和是原序列 差分应用一: 当我们要在某个区间[l,r]的所有值都加上一个数x时: 差分 一个长度为 n 的整数序列。 将序列中 [l, r] 之间的每个数加上 ...
分类:
其他好文 时间:
2020-12-05 10:48:22
阅读次数:
7
#include <stdio.h> #include <math.h> double a, b;//定义全局变量,传递区间值,可尝试指针 double get_num(double m) { double f; f = m * m + 7 * m - 9; return f; } double s ...
分类:
其他好文 时间:
2020-12-04 11:42:12
阅读次数:
18
1674. 使数组互补的最少操作次数 ? LeetCode第217周赛的第三题,比赛时卡了一个小时,没有想到O(n)的做法。对差分不熟悉,但是最关键的还是扫描的思路没有想到。由于这道题有这么几个点比较重要,觉得应该特别记录一下。 扫描:比赛时我也想到了当选定和K处于个个区间[2, lo]、[lo, ...
分类:
编程语言 时间:
2020-12-04 11:33:41
阅读次数:
9
题目 \(m\) 次区间翻转操作,$1 \leq n,m \leq 100000$ 分析 平衡树模板 于是放上 \(fhq-treap\) 的板子 \(Code\) #include<cstdio> #include<algorithm> #include<ctime> using namespac ...
分类:
其他好文 时间:
2020-12-04 11:21:13
阅读次数:
6
题意 给定m个长度不定的区间,取两个长度为k的区间,m个区间中每个区间的贡献为与两个长度为k的区间的交的较大值。求最大贡献。 思路 可以看到对于两个区间来说,当区间中心越靠近时区间交越大。所以我们把m个区间按区间中心排序,然后对于两个长度为k的区间一个取前一部分进行相交,一个取后一部分取交。预处理出 ...
分类:
其他好文 时间:
2020-12-04 11:17:49
阅读次数:
7