前缀 区间tracking segments

刷题 字典树 LCP(最长公共前缀)

2023.12.5 cf 1902E 字典树的功能 根据字典树的概念,我们可以发现:字典树的本质是把很多字符串拆成单个字符的形式,以树的方式存储起来。所以我们说字典树维护的是”字典“。那么根据这个最基本的性质,我们可以由此延伸出字典树的很多妙用。简单总结起来大体如下: 1、维护字符串集合(即字典)。 ......
前缀 字典 LCP

2023年广东工业大学腾讯杯新生程序设计竞赛不知道叫什么名字(前缀和)

需要的是男生女生数量相同,做个转化,女生变成-1,然后求一遍前缀和,我们希望找到最长的满足\(sum(l, r)=0\)的区间也就是\(sum(r) - s(l - 1) = 0\) 考虑枚举右端点,找到最左端和它相等的sum就是对于当前右端点的最长的。 最开始想了个二分答案的假做法,011100, ......

前缀和/差分——acwing算法基础课笔记

个人笔记,欢迎补充,指正。 一维前缀和 对于数组: a[1],a[2],a[3]...a[n]; 其前缀和数组为 s[i] = a[1] + a[2] + ... + a[i]; 下标必须从1开始 求前缀和 1 for(int i=1;i<n;++i) 2 s[i] = s[i-1] + a[i]; ......
基础课 前缀 算法 基础 笔记

P8111 [Cnoi2021] 区间

[Cnoi2021] 区间 题目背景 Cirno 有一个区间 \([a,b](1\le a \le b \le n)\),而你的任务是在规定的次数内帮 Rumia 猜出这个区间。 每次,你可向Cirno询问一个数字 \(k\),而 Cirno 会告诉你这个数字与区间 \([a,b]\) 的关系。 题 ......
区间 P8111 8111 2021 Cnoi

Luogu P6292 区间本质不同子串个数

给定字符串 \(S\),\(m\) 次询问 \(S_{l_i}S_{l_i + 1} \cdots S_{r_i}\) 中本质不同的字符串个数。 \(|S| \le 10 ^ 5, m \le 2 \times 10 ^ 5\)。 考虑将询问离线,右端点扫描线,维护 \(f_l\) 为 \(S_l ......
区间 个数 本质 Luogu P6292

区间合并算法总结

区间合并使用贪心算法,对于区间问题,通常需要对左端点排序、右端点排序或者左端点和右端点双关键字排序。区间合并算法的算法步骤: 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 ......

ElasticSearch之cat segments API

命令样例如下: curl -X GET "https://localhost:9200/_cat/segments?v=true&pretty" --cacert $ES_HOME/config/certs/http_ca.crt -u "elastic:ohCxPH=QBE+s5=*lo7F9" ......
ElasticSearch segments API cat

前缀和和后缀和

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(" ......
前缀 算法

Segment Anything笔记

title: Segment Anything笔记 banner_img: https://drive.studyinglover.com/api/raw/?path=/photos/blog/background/1679396994125.png date: 2023-4-7 21:40:00 ......
Anything Segment 笔记

带修区间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 两个矩阵。 线段树上,我们要处理信息与信息合并,信息与懒标记合并,懒标记与懒标记合并。 信息与信息合并就是矩阵相加。其他两个是乘。 于 ......
区间 乘法 矩阵 历史