自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(876)
  • 资源 (19)
  • 收藏
  • 关注

原创 AcWing 2521:数颜色 ← 带修改的莫队算法

● 在带修改的莫队算法中,一个查询通常表示为 (L,R,t),含义为在查询区间 [L,R] 前进行了 t 次修改操作。一般地,可以把 t 理解为“时间”。t 的范围为 1≤t≤m,m为操作(查询、修改)次数。两个查询的 t 相差越小,它们对应的数据差别越小,计算量也越小。所以,对 t 排序能减少计算量。

2024-05-19 22:12:47 831

原创 AcWing 2492:HH的项链 ← 基础莫队算法

​● 莫队算法的精髓在于奇偶性排序。也就是依据左端点 L 位于奇数块还是偶数块,决定右端点 R 从小到大排序还是从大到小排序。(1)首先,利用分块算法将给定的 n 个数分成 sqrt(n) 个块;(2)然后,将多个询问的左端点 L 按块从小到大排序。若 L 位于奇数块,则对右端点 R 从小到大排序。若 L 位于偶数块,则对右端点 R 从大到小排序。反之亦可。

2024-05-18 13:08:36 728 1

原创 利用 getchar() 读取回车符解决 scanf() 读取单个字符的不足

利用 getchar() 读取回车符解决 scanf() 读取单个字符的不足。

2024-05-16 20:45:05 461

原创 “分块”算法的基本要素及 build() 函数的构建细节

“分块”算法适合求解 m=n=10^5 规模的问题,或 m*sqrt(n)≈10^7 的问题。其中,n 为元素个数,m 为操作次数。

2024-05-16 14:07:29 247

原创 HDU 5057:Argestes and Sequence ← 分块算法(单点更新、区间查询)

● 分块是用线段树的分区思想改良的暴力法。代码比线段树简单。效率比普通暴力法高。分块适合求解 m=n=10^5 规模的问题。或 m*sqrt(n)≈10^7 的问题。其中,n 为元素个数,m 为操作次数。

2024-05-16 11:43:34 880 1

原创 洛谷 P3203:弹飞绵羊 ← 分块算法(单点更新、单点查询)

● 本题其实就是动态树 LCT 的模板题,这里用来练习分块。

2024-05-15 15:37:53 769 1

原创 洛谷 P3372:线段树 1 ← 分块算法模板(区间更新、区间查询)

● 本题其实就是线段树的模板题,这里用来练习分块。分块适合求解 m=n=10^5 规模的问题。或 m*sqrt(n)≈10^7 的问题。其中,n 为元素个数,m 为操作次数。

2024-05-15 09:05:00 1136 1

原创 洛谷 P1002:过河卒 ← 动态规划

● 这是一道典型的动态规划算法题目。设 f(i,j) 表示从 (0,0) 走到 (i,j) 的路径的条数。如果 i=0 且 j=0,则 f[i][j]=1;否则,如果i=0,则 f[i][j]=f[i][j−1];否则,如果 j=0,则 f[i][j]=f[i−1][j];否则,f[i][j]=f[i−1][j]+f[i][j−1]。

2024-05-13 22:35:32 442

原创 洛谷 P3809:后缀排序 ← 后缀数组

● 倍增法求后缀数组的算法用到如下 3 个数组:(1)后缀数组 sa[i]:排第几的是谁?← 后缀数组中的第 i 个元素,是从第几个字符开始的后缀?(2)名次数组 rk[i]:你排第几?← 从第 i 个字符开始的后缀,在后缀数组中排第几?(3)lcp[] 数组:表示后缀 sa[i] 与 sa[i−1] 的最长公共前缀的长度。更常表述为height[] 数组。● sa[] 与 rk[] 是一一对应关系,互为逆运算。即存在关系 ​​​​​​​sa[rk[i]]=i 及rk[sa[i]]=i。

2024-05-11 22:52:39 289

原创 后缀树与后缀数组简介及代码模板 ← AcWing 2715

● 后缀数组 sa(Suffix Array):后缀数组 sa 的值就是将字符串的所有后缀子串按字典序排序后对应的原始下标。● 后缀数组元素 sa[i],是原字符串中从第 i 个位置开始的后缀子串(下标从 0 开始)。

2024-05-11 11:28:47 668 1

原创 字典树(Trie 树)→ 字符串排序

●先序遍历字典树,可实现字符串从小到大排序。

2024-05-10 23:54:53 336 1

原创 逗号运算符后不能和 return、break、continue 连用

逗号运算符后不能和 return、break、continue 连用

2024-05-10 19:35:14 395

原创 洛谷 P2580:于是他错误的点名开始了 ← 字典树(Trie 树)之字符串检索

● 本例提供了 STL Map 及 Trie 两种代码解法。● 不同字典树问题的代码有 insert() 及 query() 两个核心函数。其 insert() 函数代码大多都一样,而 query() 函数会随问题多变。

2024-05-10 18:41:04 831

原创 AcWing 142:前缀统计 ← 字典树(Trie树)之前缀统计

●字典树(Trie 树)是一种用于快速检索的多叉树结构。● 除根结点外,字典树的每个结点只包含一个字符。● 字典树中每个结点都有一个序号。字典树的根结点为空结点,序号为 0。● 字典树在实现时,会对每个字符串的结尾设置标记。● 字典树常用于词频统计、前缀匹配、字符串检索、字符串排序等。

2024-05-10 11:27:54 227

原创 AcWing 161:电话列表 ← 字典树(Trie 树)之前缀匹配

● ​​​​​​​字典树(Trie 树)是一种用于快速检索的多叉树结构。● 除根结点外,字典树的每个结点只包含一个字符。● 字典树中每个结点都有一个序号。字典树的根结点为空结点,序号为 0。● 字典树在实现时,会对每个字符串的结尾设置标记。● 字典树常用于词频统计、前缀匹配、字符串检索、字符串排序等。

2024-05-09 23:32:01 869

原创 AcWing 835:Trie字符串统计 ← 字典树(Trie树)之词频统计

●字典树(Trie 树)是一种用于快速检索的多叉树结构。● 除根结点外,字典树的每个结点只包含一个字符。● 字典树中每个结点都有一个序号。字典树的根结点为空结点,序号为 0。● 字典树在实现时,会对每个字符串的结尾设置标记。● 字典树常用于词频统计、前缀匹配、字符串检索、字符串排序等。

2024-05-09 17:52:56 963

原创 浙江大学 → PAT 1012:数字分类

注意:输入样例的第一个数字是参与分类的数字的总数,不是参与分类的数字。

2024-05-08 22:30:24 448

原创 洛谷 P4148:简单题 ← KD-Tree模板题

● KD-Tree 作为一种二分查找树,由 Jon Louis Bentley 发明。所谓 KD-Tree,即 Multidimensional Binary Search Tree 的简称,其中的 K表示数据空间的维度。KD-Tree 高效支持高维空间的最近邻搜索、空间搜索,因此深入了解 KD-Tree 的原理以及底层实现,对机器人或无人驾驶领域的从业者来说,意义非凡。

2024-05-08 18:00:57 983

原创 洛谷 P3850 [TJOI2007] 书架: ← FHQ-Treap模板题

● FHQ−Treap,也称非旋 Treap,由范浩强提出。顾名思义,FHQ−Treap 就是不需要通过旋转,而是通过分裂(split)与合并(merge)维护的 Treap。FHQ−Treap 与 Treap 的另外一个区别是 FHQ−Treap 可持久化。● FHQ-Treap 的高明之处在于所有的操作都只用到了分裂(split)与合并(merge)这两个基本操作。

2024-05-07 23:13:25 1102

原创 洛谷 P6136:【模板】普通平衡树(数据加强版) ← Splay树模板题

● Treap 树解决平衡的办法是给每个结点加上一个随机的优先级,实现概率上的平衡。Splay 树直接用旋转调整树的形态,通过旋转改善树的平衡性。计算量小,效果好。● Splay 树的旋转主要分为“单旋”和“双旋”。

2024-05-07 19:08:31 350

原创 洛谷 P3391:文艺平衡树 ← Splay树模板题

● Treap 树解决平衡的办法是给每个结点加上一个随机的优先级,实现概率上的平衡。Splay 树直接用旋转调整树的形态,通过旋转改善树的平衡性。计算量小,效果好。● Splay 树的旋转主要分为“单旋”和“双旋”。

2024-05-07 12:24:19 896

原创 Splay 树简介及代码模板

● Splay Tree 是动态树与树链剖分的基础。● 左旋和右旋是 Splay Tree 的两个基本操作。它在保证 Splay Tree 的中序遍历序列不变的前提下,调整 Splay Tree 的高度,从而维护 Splay Tree 的平衡。● Splay Tree 的核心操作是 rotate(x,k),即将结点 x 旋转到结点 k 的下方。其他所有操作,都是围绕着 rotate(x,k) 进行的。

2024-05-06 23:29:48 607

原创 Treap树 ← 洛谷P3369、AcWing253

●​​​​​​​Treap 树是一种原理比较简单的 BST。Treap=Tree+Heap,即 Treap 是树和堆(大根堆或小根堆)的结合,通常翻译成树堆。●Treap 树的操作基于“键值 val + 优先级 pri”。Treap 树的每个结点包含两个信息 (val, pri),对于 val,它是一个BST(二叉查找树),对于 pri,它是一个堆(大根堆或小根堆)。

2024-05-06 15:54:15 632 1

原创 AcWing 852:spfa判断负环 ← 链式前向星存图

● SPFA 算法是判断负环的常用算法,其实现如下: 在更新 dis[i] 时,我们顺带维护一个 cnt[i] 数组,该数组用来存放最短路的边数。如果 cnt[i]≥n 时,说明图中有 n+1 个点,而题目一共给了 n 个点,说明一定存在环。而 SPFA 算法更新的要求是距离变短,因此这个环一定是负环。 但是从原点开始可能走不到负环,我们需要初始时把所有的点都放入队列中。

2024-05-06 08:05:57 364

原创 AcWing 851:spfa求最短路 ← 链式前向星存图

● 百度百科:SPFA 算法是 Bellman-Ford 算法的队列优化算法的别称,通常用于求含负权边的单源最短路径,以及判负权环。SPFA 最坏情况下时间复杂度和朴素 Bellman-Ford 相同,为 O(VE)。●Bellman ford 算法可以存在负权回路,是因为其循环的次数是有限制的,因此最终不会发生死循环。但是, SPFA 算法不可以。这是因为,SPFA 算法用队列来存储,只要发生了更新就会不断的入队。因此,假如有负权回路请不要用 SPFA ,否则会死循环。

2024-05-05 17:45:42 344

原创 洛谷 P1440:求m区间内的最小值 ← 笛卡尔树

● 简言之,一棵笛卡尔树,val 决定了结点的值,pri 决定了结点的位置。● 笛卡尔树的构建过程中,常还需借助“单调栈”这种数据结构,以保证在线性时间内完成笛卡尔树的构建。单调栈中保存的始终是笛卡尔树的右链,即由笛卡尔树的“根结点、根结点的右儿子、根结点的右儿子的右儿子、……”组成的链。● 单调栈中的元素值从栈顶到栈底需依次递减,且栈底存储的是根结点。

2024-05-03 18:33:39 537

原创 AcWing 3194:最大的矩形 ← 笛卡尔树

●笛卡尔树是一种非常特殊的二叉查找树(BST)。每个结点有两个信息 (pri, val),如果只考虑pri,它是一棵二叉查找树,如果只考虑val,它是一个小根堆。一般地,构建笛卡尔树时,我们按第一关键字 pri 排序(很多时候,pri 值即为数组下标)。​​​​​​​本题中,pri 值就是数组下标,无需排序,直接按给定的高度建树。

2024-05-03 12:27:33 706

原创 如何构建笛卡尔树?

● 简言之,一棵笛卡尔树,val 决定了结点的值,pri 决定了结点的位置。

2024-05-02 22:03:52 596 1

原创 洛谷 P1377 [TJOI2011]:树的序 ← 笛卡尔树

●题目中所提及到的“现给出一个生成序列,求与其生成同样二叉查找树的所有生成序列中字典序最小的那个”是一个必须理清的关键。意思是说,存在多个序列,能生成同样的二叉查找树,需输出字典序最小的那个。● 如何构建笛卡尔树?据笛卡尔树结点信息可知,笛卡尔树是具有双权重(pri, val)的树。那么,如何构建笛卡尔树?构造笛卡尔树时,若各个结点指定了 pri,则先对各个 pri 递增排列。否则,pri 默认为数组下标。然后,依据 pri 顺序将结点逐个插入到笛卡尔树中。

2024-05-01 23:22:46 1361 1

原创 洛谷 P5854:【模板】笛卡尔树

●笛卡尔树是一种非常特殊的二叉搜索树(BST)。每个结点有两个信息 (pri, val),如果只考虑 pri,它是一棵二叉搜索树,如果只考虑 val,它是一个小根堆。●一个有趣的事实是,如果笛卡尔树的pri 值互不相同,val 值互不相同,那么这个笛卡尔树的结构是唯一的。● 构造笛卡尔树时,若各个结点指定了 pri,则先对 pri 从小到大排列。否则,pri 默认为数组下标。在保证 pri递增的情况下,可以在线性时间复杂度内构造一棵笛卡尔树。

2024-04-30 23:23:14 575

原创 按结构体“字符数组成员”对结构体数组进行排序

按结构体的“字符数组成员”对结构体数组进行排序前,需要自定义排序函数。其中,要用到 strcmp 函数。C++ 中 strcmp(a,b) 函数的用法● 若 len(a)>len(b),则返回1。● 若 len(a)==len(b),则返回0。● 若 len(a)

2024-04-30 17:04:23 152

原创 C++ 中 scanf 的高阶用法:scanf(“%[a-z]“,ch);

● C++ 中 scanf 的高阶用法:scanf("%[a-z]",ch);语句 scanf("%[a-z]",ch); 表示只读入小写字母入字符串。任何包含非小写字母的字符串,将不能读入,自然也不可能有输出。例如:运行下面代码:输入 abc,将输出 abc;输入 abcA,将无输出。

2024-04-30 16:18:29 95

原创 C++ 中 strcmp(a,b) 函数的用法

●若 len(a)>len(b),则返回1。●若 len(a)==len(b),则返回0。●若 len(a)

2024-04-30 13:58:28 185 1

原创 POJ 1785:Binary Search Heap Construction ← 笛卡尔树的构造及中序遍历

● 笛卡尔树(1)笛卡尔树是由一系列不同数字构成的二叉树。(2)笛卡尔树的结点有两个属性:键值 val、优先级 pri。其中,键值 val 预设,优先级 pri 随机或预设。笛卡尔树各个结点的键值 val 满足堆的性质,各个结点的优先级 pri 满足二叉搜索树(BST)的性质。(3)笛卡尔树可由数列构造,在区间最值查询、区间 topK 查询等问题上有广泛应用。(4)笛卡尔树结点键值 val 的中序遍历序列为构建其的原始序列。最小堆笛卡尔树表示满足小根堆性质的笛卡尔树。

2024-04-30 11:49:47 402

原创 POJ 2201:Cartesian Tree ← 笛卡尔树模板题

本题是笛卡尔树的模板题。●笛卡尔树是由一系列不同数字构成的二叉树。笛卡尔树满足堆的性质,笛卡尔树的中序遍历序列为构建其的原始序列。最小堆笛卡尔树表示满足小根堆性质的笛卡尔树。● 笛卡尔树的结点有两个属性:键值 val、优先级 pri。其中,键值 val 预设,优先级 pri 随机或预设。●笛卡尔树可由数列构造,在区间最值查询、区间 topK 查询(range top k queries)等问题上有广泛应用。

2024-04-30 08:45:09 639

原创 笛卡尔树 ← AcWing 4279

●笛卡尔树(1)笛卡尔树是由一系列不同数字构成的二叉树。(2)笛卡尔树的结点有两个属性:键值 val、优先级 pri。其中,键值 val 预设,优先级 pri 随机或预设。笛卡尔树各个结点的键值 val 满足堆的性质,各个结点的优先级 pri满足二叉搜索树(BST)的性质。(3)笛卡尔树可由数列构造,在区间最值查询、区间 topK 查询等问题上有广泛应用。(4)笛卡尔树结点键值 val的中序遍历序列为构建其的原始序列。最小堆笛卡尔树表示满足小根堆性质的笛卡尔树。

2024-04-29 21:26:09 252

原创 请编程输出 1~7 位的所有自幂数

● 本算法代码,在计算 8 位及以上的自幂数时,相当卡,需优化。故本算法代码只用来计算1~7 位的所有自幂数。●一个 n 位的自然数,若它各位上的数字的 n 次幂之和等于它本身,则称之为 n 位自幂数。

2024-04-28 20:52:37 301

原创 请输入一个 11 位以内的数,判断它是几位(小于等于10位)自幂数?

一个 n 位的自然数,若它各位上的数字的 n 次幂之和等于它本身,则称之为 n 位自幂数。

2024-04-28 13:31:08 288

原创 四叶玫瑰数 ← 自幂数

一个 n 位的自然数,若它各位上的数字的 n 次幂之和等于它本身,则称之为 n 位自幂数。

2024-04-28 11:03:42 244

原创 牛客网:S老师的签到 ← BFS

● BFS 有“分层”的核心思想,故在本题中以 x+y 相同的值作为“分层”的依据。即若从某位置开始,则位于同一层的是 x+y 的值相同的位置。其中,x 是向下走的距离,y 是向右走的距离。● C++11 标准中的 for 循环,用 auto 以简洁、统一的方式来遍历容器和数组。● 运算符 ^ 表示按位异或。

2024-04-28 07:31:11 873

数据结构-DFS and BFS-PPT

数据结构-DFS and BFS-PPT

2023-02-04

数据结构-查找-PPT

数据结构-查找-PPT

2023-02-04

数据结构-排序-PPT

数据结构-排序-PPT

2023-02-04

数据结构-图论-PPT

数据结构-图论-PPT

2023-02-04

数据结构-树和二叉树-PPT

数据结构-树和二叉树-PPT

2023-02-04

数据结构-串、数组和广义表-PPT

数据结构-串、数组和广义表-PPT

2023-02-04

数据结构-栈和队列-PPT

数据结构-栈和队列-PPT

2023-02-04

数据结构-线性表-PPT

数据结构-线性表-PPT

2023-02-04

数据结构-绪论-PPT

数据结构-绪论-PPT

2023-02-04

随机过程课程中由集合生成的σ代数的解法.xlsx

详细介绍了在随机过程课程中,由集合生成的σ代数的解法。文件包含三个实例。

2022-01-06

NOIP2017普及组初赛试题解析-PPT

NOIP2017普及组初赛试题解析(单项选择题)-PPT

2021-08-16

CSP2019入门组初赛试题解析(单项选择题)-PPT

CSP2019入门组初赛试题解析(单项选择题)

2021-08-15

CSP2020入门组初赛试题解析(单项选择题)-PPT

CSP2020入门组初赛试题解析(单项选择题)

2021-08-15

NOIP2018普及组初赛试题解析(单项选择题)-PPT

NOIP2018普及组初赛试题解析(单项选择题)-PPT

2021-08-15

QGIS二次开发 の PyCharm开发环境配置.pdf

详细论述了利用PyCharm搭建QGIS二次开发环境的步骤,并给出了一个可以成功运行的小例子。搭建环境涉及的软件有Qt、QGIS、PyCharm等。各软件的版本详见资源。由于利用不同版本的Qt、QGIS、PyCharm等软件搭建环境时会存在一些差异,所以若参照本资源配置环境时,请确保软件版本一致。

2021-04-03

MySQL实用教程[郑阿奇][随书数据库SQL脚本]-YGGL.sql

MySQL实用教程[郑阿奇][随书数据库SQL脚本]-YGGL.sql

2021-03-05

MySQL实用教程[郑阿奇][随书数据库SQL脚本]-xscj.sql

MySQL实用教程[郑阿奇][随书数据库SQL脚本]-xscj.sql

2021-03-05

数据结构(C_语言描述)(第2版)_陈广_9787301247761_课后习题参考答案.doc

数据结构(C_语言描述)(第2版)_陈广_9787301247761_课后习题参考答案.doc

2019-05-14

信息学奥赛一本通C++版配套光盘(第五版)

信息学奥赛一本通C++版配套光盘(第五版)

2018-07-07

OpenCV.2.Computer.Vision.Application.Programming.Cookbook

OpenCV.2.Computer.Vision.Application.Programming.Cookbook 教第一版有了改变,使用了C++进行描述,而不是第一版中用C进行描述

2012-09-01

Thinking In Java 4th Edition(英文版)(含目录封面)

非扫描版,Thinking In Java 4th Edition(英文版)(含目录封面)

2011-12-17

Thinking In Java 4th Edition(英文版)

Thinking In Java 4th Edition(英文版)

2011-12-17

Data Structures and Problems Solving Using JAVA (Fourth Edition)

国外经典书籍《Data Structures and Problems Solving Using JAVA (Fourth Edition)》

2011-12-17

djvu阅读器

djvu阅读器,windows下查看djvu格式的工具,如果要最新版可以去http://djvu.org/resources/ (英文网站)找

2011-11-13

WindowBuilder Pro for eclipse 3.6

WindowBuilder Pro for eclipse 3.6用于Java可视化开发

2011-10-26

java完全手册第8版源代码

Java The Complete Reference, Eighth Edition

2011-09-15

ArcGIS Desktop 9.3破解安装步骤

我自己总结的ArcGIS Desktop 9.3破解安装步骤,我已经在Win XP安装通过。

2011-05-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除