- 博客(1451)
- 资源 (19)
- 收藏
- 关注
原创 洛谷 P1241:括号序列 ← STL stack
本文 C++ 代码实现了一个括号匹配检查与补全的功能,主要处理输入字符串中的圆括号 () 和方括号 [] 的匹配问题。
2025-08-07 05:30:00
143
原创 洛谷 P1739:表达式括号匹配 ← STL stack
括号匹配是栈(Stack)的经典应用之一,主要用于检查字符串中的括号是否成对出现且顺序正确。常见的括号类型包括:圆括号 ()、方括号 []、花括号 {}。
2025-08-07 02:15:00
61
原创 AcWing 3703:括号的匹配 ← 中山大学考研机试题(STL stack+STL map)
利用 STL map 将不同括号映射为不同的数字,来表现优先级。
2025-08-06 21:12:38
322
原创 AcWing 3693:括号匹配 ← 南京理工大学考研机试题(STL stack+STL map)
STL stack + STL map
2025-08-06 14:58:39
34
原创 AcWing 6447:最长的括号匹配 ← STL stack + 中国科学技术大学考研机试题
合法括号匹配的充分必要条件:1. 左右括号数量相等:字符串中 '(' 和 ')' 的数量相同。2. 任意前缀的左括号数 ≥ 右括号数:在字符串的任意位置,从左到右扫描时,'(' 的数量不能少于 ')' 的数量。这个条件可以用于括号匹配问题的所有变种(如最长有效括号、生成所有合法括号组合等)。
2025-08-04 16:56:03
1008
原创 洛谷 B4062:[GESP202412 一级] 温度转换 ← 选择结构
在算法竞赛或高精度计算中,浮点数默认使用 double 是更稳妥的选择,除非题目明确允许或要求使用 float。
2025-08-04 08:45:51
318
原创 洛谷 P1410:子序列
● 状态:f[i][j]代表 前 i 位中长度为 j 的最长上升子序列的最后一位的大小。● 状态转移方程:f[i][j]=min(f[i][j],f[i-1][j-1]),if(a[i−1]<a[i])f[i][i-j+1]=min(f[i][i-j+1],a[i-1]),if(f[i−1][j−1]<a[i])
2025-08-02 05:00:00
208
原创 AcWing 272:最长公共上升子序列 ← 子序列问题
本题是“AcWing 895:最长上升子序列”和“AcWing 897:最长公共子序列”的结合版,在状态表示和状态计算上都是融合了这两道题目的方法。
2025-08-02 00:30:00
373
原创 AcWing 897:最长公共子序列 ← 子序列问题(n≤1e3)
● 本题问题规模 1e3,所以采用如下经典动态规划方法求解是可行的。● 若问题规模大于 1e3,采用本题代码将会导致 MLE 及 TLE。则优化的“最长公共子序列”问题的代码解析详见:https://blog.csdn.net/hnjzsyjyj/article/details/149813893
2025-08-01 12:01:38
457
原创 洛谷 P1439:【模板】最长公共子序列 ← 子序列问题(n>1e3)
本题算法解析中求“最长公共子序列”问题的代码,适用于 n≤10^3 的场景。
2025-08-01 10:51:18
279
原创 AcWing 1479:最大子序列和 ← 子序列问题
设 dp[i] 表示以第 i 个元素结尾的连续子序列的最大和。状态转移方程为:dp[i]=max(a[i], dp[i-1]+a[i])。若 dp[i-1]+a[i]<a[i],说明当前元素作为新子序列的起点更优,此时置 t=i,以备未来更新起始下标 b 用。若 ans<dp[i],说明发现更大的子序列和,则更新全局最大值 ans,并更新当前子数组的起始下标 b(来自 t)和结束下标 e(当前 i)。若所有子数组和均为负数(ans<0),则强制输出和 0,并默认取整个数组范围 [1, n]。
2025-08-01 01:15:00
358
原创 AcWing 895:最长上升子序列 ← 子序列问题
状态定义:dp[i] 表示以第 i 个元素结尾的严格单调递增子序列的长度。切记,选取的元素不一定连续。
2025-07-31 15:02:59
308
原创 东方博宜OJ 1461:温度统计员 ← 子序列问题
本文代码用于计算给定整数序列中最长连续非递减子序列的长度。在处理最长连续非递减子序列问题时,遗漏最后一段序列是常见错误。
2025-07-31 10:11:17
290
原创 洛谷 P11230:[CSP-J 2024 T4] 接龙 ← 图论+动态规划
本题是一个典型的图论可达性问题,结合动态规划思想解决特定条件下的路径查询。
2025-07-30 11:14:45
910
原创 洛谷 P11229:[CSP-J 2024 T3] 小木棍 ← 贪心算法
基于贪心策略,若位数越短,则数越小。若位数相同,则首位越小数越小。若位数、首位相同,则第 2 位越小数越小。以此类推。故要计算 k=n/7,r=n%7,然后分情况讨论。
2025-07-30 06:30:00
764
原创 洛谷 P11228:[CSP-J 2024 T2] 地图探险 ← 搜索算法
● 一个坑,在于可能会多次经过某个位置,但多次经过的某个位置也只能计一次。● 一个技巧,在于利用如下 dx[]、dy[] 数组的声明及 tx、ty 的计算公式,避免了写多个 if 语句。特别注意的是,本题 dx[]、dy[] 数组中元素值的顺序不能改变。因为它们是依据 d 取不同值时,机器人的移动方向决定的。
2025-07-29 14:40:29
1044
1
原创 洛谷 P11227:[CSP-J 2024 T1] 扑克牌 ← STL map / STL set
STL map 是一种关联容器,存储键值对,每个键(key value)是唯一的,而值(mapped value)可以重复。构建 STL map 时,无论元素插入顺序如何,STL map 中的元素始终按“键值”自动递增存储。STL map 中的迭代器可理解为“指针”。
2025-07-29 06:45:00
1145
1
原创 树状数组的概念、结构及实现
树状数组(Binary Indexed Tree,简称 BIT)是一种高效处理动态序列“前缀和查询”与“单点更新”的数据结构,由 Peter M. Fenwick 于 1994 年提出。结合差分、离散化等技术,树状数组的扩展应用主要体现在“区间修改+单点查询”、“区间修改+区间查询”等方向。而树状数组实现区间修改的核心是通过差分思想将区间操作转化为单点更新。
2025-07-28 14:11:47
1717
原创 AcWing 868:筛质数 ← 欧拉筛法
欧拉筛法(又称线性筛法)是一种高效筛选素数的算法,其核心特点是保证每个合数仅被其最小质因子筛除一次,从而实现 O(n) 的时间复杂度。欧拉筛法适用于大规模素数筛选(如 1e7 以上)的场景。
2025-07-27 02:30:00
472
原创 洛谷 P1307:[NOIP 2011 普及组] 数字反转 ← STL stack
STL 中的 stack(栈)是 C++ 标准模板库中的一个容器适配器,它遵循后进先出(LIFO)原则。
2025-07-27 00:15:00
269
原创 洛谷 P1217:[USACO1.5] 回文质数 Prime Palindromes
在算法竞赛或编程问题中,若需处理回文质数,一种方法是直接将数的范围限制在≤7位,避免无效计算。因为不存在大于 10⁷ 的回文质数,最大回文质数为 9989899。另一种方法为欧拉筛法(又称线性筛法)结合回文判断求解。
2025-07-26 13:36:09
331
原创 洛谷 B4069:[GESP202412 四级] 字符排序 ← 字符串
● vector<string> s(n); 初始化 n 个空字符串。● vector<string> s(n, "hello"); 初始化 n 个 "hello" 字符串。
2025-07-26 06:00:00
370
原创 洛谷 P1307:[NOIP 2011 普及组] 数字反转
注意:如下代码中的整型变量 t 要么放在 main 函数外,要么在 main 函数内初始化为 0,否则大部分样例过不了。这是因为,main 函数内的整型变量会初始化为随机数。
2025-07-26 01:15:00
319
原创 洛谷 B3927:[GESP202312 四级] 小杨的字典 ← STL map
STL map 是一种关联容器,存储键值对,每个键(key value)是唯一的,而值(mapped value)可以重复。构建 STL map 时,无论元素插入顺序如何,STL map 中的元素始终按“键值”自动递增存储。STL map 中的迭代器可理解为“指针”。
2025-07-25 03:00:00
765
原创 洛谷 B3870:[GESP202309 四级] 变长编码 ← 位运算
原码、反码和补码是计算机中表示有符号整数的三种编码方式,主要用于解决负数存储和运算的问题。现代计算机系统普遍采用补码来表示和存储数值。
2025-07-25 00:15:00
615
原创 洛谷 B3869:[GESP202309 四级] 进制转换 ← 字符串
● 本题是任意进制转十进制。十进制转任意进制,详见:https://blog.csdn.net/hnjzsyjyj/article/details/146247521● 本题要开 long long,因为 16^9 已经超出了 int 的数据范围。● 研读代码,掌握任意进制转换时,字符串的使用技巧。
2025-07-24 09:37:53
439
原创 PTA 天梯赛 L3-002:特殊堆栈
本题代码实现了一个有序插入+快速查询中位数的数据结构,结合了双向链表(vector<int> t;)和有序数组(vector<int> v;)的特性。
2025-07-24 06:30:00
355
原创 洛谷 B4064:[GESP202412 二级] 寻找数字
代码 for(int i=1; i*i*i*i<=x; i++) 中的 i*i*i*i<=x 不能为 i<=x,否则会 TLE。
2025-07-21 15:15:00
223
原创 lanqiaoOJ 19871:单调栈
单调栈的核心是通过维护栈的单调性,在遍历过程中 “实时” 找到元素的前后关系,从而高效解决数组中的边界、极值等问题。
2025-07-21 01:15:00
769
Data Structures and Problems Solving Using JAVA (Fourth Edition)
2011-12-17
QGIS二次开发 の PyCharm开发环境配置.pdf
2021-04-03
数据结构(C_语言描述)(第2版)_陈广_9787301247761_课后习题参考答案.doc
2019-05-14
OpenCV.2.Computer.Vision.Application.Programming.Cookbook
2012-09-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人