前缀trie

trie字典树

维护一个字符串集合,支持两种操作: I x 向集合中插入一个字符串 \(x\); Q x 询问一个字符串在集合中出现了多少次。 所有输入的字符串总长度不超过 \(10^5\)( 也就是节点数) const int N=100010; int n; char s[N]; int ch[N][26],c ......
字典 trie

Trie

\(N\)为所有字符串的最大长度和,\(M\)为字符集大小,\(idx\)用于分配节点编号。 \(n\)为字符串长度,\(t[k][u]\)表示节点\(k\)且出边为\(u\)的另一侧节点编号。 \(insert\):插入字符串,时间复杂度\(O(n)\)。 \(visit\):遍历字符串,遍历方式 ......
Trie

CW初中-C102B(加强版)(CF1720D2-Trie树)

前言 这道题的弱化版 CF1720D1 出现在模拟赛上,大家都用了弱化版的思路即向前扫描256个元素暴力计算 DP。如果想具体了解的就去看看弱化版的题解吧。 但弱化版的思路(除 DP 外)在此题几乎毫无落脚之地,甚至毫无关系。我在考场上曾对 $ 0 \leq a_i \leq 10^2 $ 感到了疑 ......
初中 D2-Trie 1720 Trie 102

高维前缀和

对于求高维前缀和,我的理解是在维度数乘总点数的复杂度下求前缀和。 首先可以先看看二维前缀和。 如果使用容斥的方法,像这样: for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ f[i][j]=a[i][j]+f[i-1][j]+f[i][j-1]-f[i-1] ......
高维 前缀

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

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

可持久化Trie树(字典树)

举例子: 插入cat: 插入cup: 插入soup: 插入cut: 可持久化数据结构的重要问题就是解决区间的查询问题: 例题,洛谷4735: M个操作, 操作1:添加操作,添加一个树x,序列长度+1 操作2:询问操作,找到一个位置p,满足l<=p<=r,使得a[p] ^ a[p+1] ^ ... ^ ......
字典 Trie

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

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

AcWing 835. Trie字符串统计

题面: 维护一个字符串集合,支持两种操作: ① I x 向集合中插入一个字符串 x; ② Q x 询问一个字符串在集合中出现了多少次。 共有 \(N\) 个操作,所有输入的字符串总长度不超过 \(105\) ,字符串仅包含小写英文字母。 原题链接:835. Trie字符串统计 - AcWing Tr ......
字符串 字符 AcWing Trie 835

前缀和/差分——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]; ......
基础课 前缀 算法 基础 笔记

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

trie树

用于字符串的插入和查询 1.acwing835 1 #include<bits/stdc++.h> 2 using namespace std; 3 4 const int N = 100010; 5 int son[N][26]; //trie树中每个点的所有儿子 6 int cnt[N],idx ......
trie

前缀和和后缀和

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

前缀和算法总结

前缀和思维导图: 一维前缀和算法模版: 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(" ......
前缀 算法

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

前缀和

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

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

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

数据加WJ前缀

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

Trie 树

Trie 树是一颗像字典一样的树。 在 Trie 树上用边来表示字母,一个节点到另一个节点的边就是一个字母。 实现: 点击查看代码 void insert (char s[]) { int u = 0, len = strlen (s); for (int i = 0; i < len; i ++) ......
Trie

【LC周赛-371】 D. Trie树求最大异或对

【LC周赛-371】 D. Trie树求最大异或对 题意 给一个数组,求两个数满足|x-y|<=min(x,y)的异或最大值。 题解 从|x-y|<=min(x,y)知道,每个y可以考虑的x范围是 y / 2 <= x < y; 然后Trie树实现更优复杂度内,从窗口获得最大异或值 思路就是高位依次 ......
Trie 371

CF1304E 1-Trees and Queries(lca+树上前缀和+奇偶性)

题目 二话不说,直接按题意模拟暴搜,当然 \(O(nq)\) 的复杂度显然是寄了的。 不过,在模拟的过程中,我在链式前向星的删边中居然一开始错了,还是要 mark 一下以后注意。 void del(int x, int pre) { e[top].to = e[top].next = 0; h[x] ......
奇偶 前缀 Queries 1304E Trees

前缀和 差分

前缀和 前缀和定义 对于数列A,它的前缀和数列S[i]就表示数列A从第一个元素到第i个元素的总和。 计算公式 // 前缀和数列S 原数列A S[i] = S[i - 1] + A[i]; //S[i - 1] 表示i-1个元素的和加上A[i],就构成了前i个元素的和S[i] 具体应用 前缀和的主要用 ......
前缀

10-前缀树

10. 前缀树(trie) 8.1 前缀树概念 1. 前缀树概念 1)单个字符串中,字符从前到后的加到一棵多叉树上 2)字符放在路上,节点上有专属的数据项 数据项pass:有多少路径经过了这个点 数据项end:有多少路径是以这个点结尾 3)所有样本都这样添加,如果没有路就新建,如有路就复用 4)沿途 ......
前缀 10

前缀和算法题1

/** * https://www.nowcoder.com/practice/acead2f4c28c401889915da98ecdc6bf * * 本题采用前缀和的思想(用来快速的得到数组某一段区间里的值的和) * 首先录入数组arr * 创建一个dp数组用来存放数组的前缀和 * dp[i]就 ......
前缀 算法

前缀和算法题2

/** * https://leetcode.cn/problems/subarray-sums-divisible-by-k/description/ * 1.同余定理:如果(a-b)/p=k k为整数,则a%p=b%p * 2.C++和Java中对[负数%正数]的结果以及修正: * 负%正=负 ......
前缀 算法

前缀和+差分数组

一、一维数组度前缀和--固定数组查询区间和 1.1 定义 对于给定一个数组arr(下标从0开始),它的前缀和S[i] 表示从arr[0]到arr[i]元素总和。 1.2 构造前缀和 S[i] = S[i-1] + arr[i-1] 1.3 应用-求某个区间的和 计算区间[i, j]的元素和 => a ......
前缀 数组

前缀和

AcWing笔记——前缀和 前言 数组的前缀和,代表着一个数组前N个数的和。主要用于优化这样一种场景: 当题目要求进行求出一个数组从下标 \(i\) 到下标 \(j\) 之间的元素的和,且会多次进行这种操作时,我们可以使用前缀和的方法来优化求和的过程。 时间复杂度对比: 若使用for循环遍历整个数组 ......
前缀
共283篇  :2/10页 首页上一页2下一页尾页