前缀 区间

区间合并算法总结

区间合并使用贪心算法,对于区间问题,通常需要对左端点排序、右端点排序或者左端点和右端点双关键字排序。区间合并算法的算法步骤: 1. 按照区间左端点排序。 2. 扫描过程中,每次维护一个当前的区间。 题目链接: https://www.acwing.com/problem/content/805/ 代 ......
区间 算法

CCF认证——202109-2 贡献的变化——差分维护,前缀和算答案

https://www.acwing.com/problem/content/4010/ http://118.190.20.162/view.page?gpid=T130 脑子一热抱着玩的心态试了一下三分,当然炸了,就当初认识三分了。 正解是考虑p的变化的影响,p变成p+1的时候,答案的值取决于 ......
前缀 贡献 答案 202109 CCF

apache时间区间工具类DurationFormatUtils

<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.10</version> </dependency> 计算两个日期相差天数/月数/年数 Date ......

前缀和和后缀和

1.Problem - 1791D - Codeforces 定义函数 f⁡()f() 表示字符串 x 中不同字符的数量。 现给定一个字符串 S,将它分割为两个字符串 a,b。求出:max⁡(f⁡()+f⁡())max(f(a)+f(b))。 我们可以搞一个前缀和 a 和一个后缀和 b,分别表示 f ......
前缀 后缀

E. Permutation Sorting 树状数组实现离线区间数点

题目链接🔗 题意解读:给定一串数组a,每次操作将所有的 a[i] != i 的数循环右移一位,直到所有的数都在自己的位置上。求对于1到n之间的每个i,需要移动多少次。 首先,先考虑移动次数的问题: 为了简化循环问题,考虑将数组长度手动扩充至 2 * n,对于所有的位置 i 上的一个 a[i] ,分 ......
数组 区间 Permutation Sorting

前缀和算法总结

前缀和思维导图: 一维前缀和算法模版: 1 #include <iostream> 2 3 using namespace std; 4 5 const int N = 100010; 6 7 int n, m; 8 int s[N]; 9 10 int main() 11 { 12 scanf(" ......
前缀 算法

带修区间mex

1 x y 把x改成y.2 x y 询问区间[x,y]的mex. part0 polylog做法 考虑整体二分,那就转换成了. 保留权值[vl,vr)的数,带修区间数颜色数(是否全部出现过 <=> 颜色数=vr-vl). 这个问题可以直接cdq. 复杂度O(n log^3 n). part1 考虑分 ......
区间 mex

算法学习笔记(43): 可持久化线段树 - 区间加!

可持久化线段树 也叫做主席树,单点修改时简单,使用空间 \(O(\log n)\),问题在于如何区间加。 区间覆盖可以做,但是似乎只能单点查? 所以我们需要引入标记永久化的概念。 一个标记在没有下放前会放在 \(O(\log n)\) 个点上,这覆盖了整个操作区间。 一般来说我们会 update 更 ......
线段 区间 算法 笔记 43

区间DP

区间DP 区间DP 题目描述 设有\(N\)堆石子排成一排,其编号为\(1,2,3,…,N\)。 每堆石子有一定的质量,可以用一个整数来描述,现在要将这\(N\)堆石子合并成为一堆。 每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石子将和新堆相邻,合并时由于选择的 ......
区间

CSS 选择符 前缀

1]CSS选择器超详细汇总 2]30个你必须记住的CSS选择符 3]CSS 选择器 ......
前缀 CSS

(字符串)02-最长公共前缀

1 import java.util.*; 2 3 public class Solution { 4 /** 5 * @param strs string字符串一维数组 6 * @return string字符串 7 */ 8 public String longestCommonPrefix ( ......
前缀 字符串 字符 02

前缀和、差分

前缀和、差分 前缀和可以快速求区间和。 差分相当于前缀和的逆运算。 前缀和、差分都是以空间换时间的算法 前缀和 定义 前缀和可以简单理解为「数列的前 n 项的和」,是一种重要的预处理方式,能大大降低查询的时间复杂度。 一维前缀和 题目一 Luogu P8218 【深进1.例1】求区间和 #inclu ......
前缀

差分与前缀和学习笔记

本来是不想写这篇博客的,但为了课前十分钟还是来水一发 前缀和 简介 继续引用OI-Wiki的话(OI-Wiki $yyds$ !): 前缀和可以简单理解为「数列的前 $n$ 项的和」,是一种重要的预处理方式,能大大降低查询的时间复杂度。 也就是说,我们能使用 $O(n)$ 的时间进行预处理,在 $O ......
前缀 笔记

acwing 第 130 场周赛  (前缀和,dfs,对不同边的处理)

#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<climits> using namespace std; typedef long long LL; const int N = 5 ......
前缀 acwing 130 160 dfs

区间合并

一、题目来源 AcWing算法基础课-803.区间合并 二、题目描述 给定 \(n\) 个区间 \([l_i,r_i]\),要求合并所有有交集的区间。 注意如果在端点处相交,也算有交集。 输出合并完成后的区间个数。 例如:\([1,3]\) 和 \([2,6]\) 可以合并为一个区间 \([1,6] ......
区间

前缀和

前缀和 1.前缀和简介 前缀和是指某序列的前n项和,可以把它理解为数学上的数列的前n项和,(而差分可以看成前缀和的逆运算).合理的使用前缀和与差分,可以将某些复杂的问题简单化。 2.前缀和好处 求数组的某个区间的和时,最容易想出暴力算法,遍历区间求和,时间复杂度为O(n * m) 而使用前缀和进行求 ......
前缀

2维区间树状数组

```cpp void add(ll x, ll y, ll z){ for(int X = x; X <= n; X += X & -X) for(int Y = y; Y <= m; Y += Y & -Y){ t1[X][Y] += z; t2[X][Y] += z * x; t3[X][Y] ......
数组 区间

区间dp

1.acwing 282石子合并问题 1 #include<bits/stdc++.h> 2 using namespace std; 3 4 int n; 5 const int N = 310; 6 int s[N]; 7 int f[N][N]; 8 9 int main () 10 { 11 ......
区间

【区间 dp】UVA1331 最大面积最小的三角剖分 Minimax Triangulation 题解

UVA1331 区间 dp。 有一个很经典的问题:给定一个凸多边形,求它的最优三角剖分,对每个三角形规定一个权函数 \(f(i,j,k)\),求所有剖分方案中最大的权值。 发现这个东西不好直接入手。但是这个东西与矩阵最优链乘是相似的。考虑区间 dp。因为随意的转移是难以维护的,维护区间信息就等于强制 ......
题解 区间 Triangulation 面积 Minimax

关于区间连续段问题 (析合树)

有部分题目需要处理关于区间连续段的问题(一般来说,对于一个排列,如果一个区间的值连读,就为一个连续段。)区间连续段看似不太好维护,其实有一种处理它的利器:析合树。(也可能只是析合树的思想),就能方便的维护这一个东西。 析合树 其实这个名字不重要 ......
区间 问题

哈夫曼编码及前缀码的实现

哈夫曼编码 我们的任务是选一篇英语文章统计每个字符的概率,并实现哈夫曼前缀编码 所选文章内容: life is too short to spend time with people who suck the happiness out of you if someone wants you in ......
前缀 编码

用矩阵乘法推导区间覆盖区间历史和

区间加区间历史和,在网上的博客已经烂大街了。但还没有区间覆盖区间历史和。 众所周知,我们一般把线段树上维护的分类为信息与懒标记。用矩阵乘法的角度来看就是 I 和 T 两个矩阵。 线段树上,我们要处理信息与信息合并,信息与懒标记合并,懒标记与懒标记合并。 信息与信息合并就是矩阵相加。其他两个是乘。 于 ......
区间 乘法 矩阵 历史

区间树上查找所有与给定区间相交的区间-算法复杂度正确性证明

区间树是在平衡树上维护的数据结构,按照左端点大小排序。详见《算法导论》。 算法设计思路 红黑树的拓展 在红黑树上维护结点属性\(min, max\): \(min\)表示该结点及其所有后代结点中的区间低端的最小值。 \(max\)表示该结点及其所有后代结点中的区间高端的最大值。 在插入时,对结点路上 ......
区间 复杂度 正确性 算法

蓝桥杯管道 -- 二分, 区间覆盖

蓝桥杯管道 -- 二分, 区间覆盖 原题链接 参照执梗大佬的代码, 我太菜了wuwuwu...... import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.S ......
蓝桥 区间 管道

代码随想训练营第三十六天(Python)| 435. 无重叠区间、763.划分字母区间、56. 合并区间

435. 无重叠区间 class Solution: def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int: intervals.sort(key=lambda x: x[0]) count = 0 for i in r ......
区间 训练营 随想 字母 代码

P8317 [FOI2021] 幸运区间

P8317 [FOI2021] 幸运区间 题目传送门 分治 + dfs 首先可以发现 \(k\) 和 \(d\) 很小,所以是可以搜索的。 那么就考虑如何枚举区间,显然 \(n^2\) 枚举是会超时的,所以就考虑分治来求。 求的过程中就分成三种情况来处理:在左边一半,在右边一半,以及跨越中间点。显而 ......
区间 P8317 8317 2021 FOI

数据加WJ前缀

你好,我将给你一个地址,请你遍历地址和地址下所有子文件夹,里面有很多图片名称,如"Gold watch_ Blue hexagonal dial_ Gold numbers and pointers_ Gold strap" 每个下划线作为分割的符号,下划线间的字符作为一个单元。如:“Gold wa ......
前缀 数据

Excel区间频率统计

有时候会使用Excel统计一下分段区间数据的频率,也就是数据在不同的区间的分布情况。下面案例就是使用Excel统计一下数据的区间分布情况。 使用frequency函数可以得到想要的结果。 公式=frequency(数据列,分界区间),然后CTRL + SHIFT + ENTER 注意点:要全部选中要 ......
区间 频率 Excel

区间DP

一.定义 即对于一个区间进行的dp 二.经典转移方程 1.枚举断点型 f[l][r]=min(f[l][k-1],f[k][r]) (l+1<=k<=r) 2.左右端点型 f[l][r]=min(f[l][r-1],f[l+1][r]) 3.有一定条件型 f[l][r][k]=f[l][r-1][k ......
区间