- 博客(2301)
- 资源 (86)
- 收藏
- 关注
原创 【.NetAPI]统计标注的值、上公差、下公差
本文介绍了一个AutoCAD插件功能,用于将图纸中的标注信息导出为CSV文件。该功能通过C#代码实现,能够识别图纸中的标注和块引用,提取测量值、上公差和下公差数据,并保存到用户指定的CSV文件中。核心代码包括选择过滤器设置、文件对话框操作、事务处理以及递归遍历块内标注等功能。文章还提供了效果展示图和扩展阅读资源,包括算法资料和视频课程链接。该工具适用于工程制图中需要批量处理标注数据的场景,操作简便,代码结构清晰。
2026-01-16 07:00:00
1063
32
原创 【图论 DFS 换根法】3772. 子图的最大得分|2235
给你一个 无向树 ,它包含 n 个节点,编号从 0 到 n - 1。树由一个长度为 n - 1 的二维整数数组 edges 描述,其中 edges[i] = [ai, bi] 表示在节点 ai 和节点 bi 之间有一条边。另给你一个长度为 n 的整数数组 good,其中 good[i] 为 1 表示第 i 个节点是好节点,为 0 表示它是坏节点。定义 子图 的 得分 为子图中好节点的数量减去坏节点的数量。对于每个节点 i,找到包含节点 i 的所有 连通子图 中可能的最大得分。返回一个长度为 n 的整
2026-01-09 19:45:27
2057
47
原创 计算几何汇总
这是一个关于C++算法与数据结构中计算几何主题的博客目录页面,包含了基础知识、力扣题目和洛谷题目的分类整理。主要结构1. 基础知识部分三角函数和角公式、矢量旋转线段求交点算法点到矢量投影三角形外心计算跨立实验线段间距离计算仿射变换与齐次坐标平面凸包等基础计算几何概念2. 力扣题目(LeetCode)包含8个计算几何相关的题目,每个都有相应的难度分数(如1681、1708等)3. 洛谷题目包含13个题目,覆盖从普及到普及+的不同难度等级
2025-12-30 07:00:00
329
6
原创 P10192 [USACO24FEB] Moorbles S|普及+
题目摘要:Bessie和Elsie玩弹珠游戏,Elsie需要在M回合内不输光弹珠。给定初始弹珠数N和每回合Bessie可能的K种选择,要求输出字典序最小的"Even"/"Odd"猜测序列保证Elsie不输,否则输出-1。 解法思路:采用动态规划思想预处理suff数组,表示第i回合后必须保留的弹珠下限。对于每个回合,优先选择"Even"(字典序更小),若能保证后续不输则选,否则选"Odd"。通过维护pre变量记录当前已损失弹珠数,
2026-01-16 16:45:00
1044
原创 P10160 [DTCPC 2024] Ultra|普及+
题目摘要:给定一个01序列,可以通过将形如101...01的子串(至少包含一个1)转换为010...10来减少1的个数。要求通过若干次操作使得最终1的个数最少。使用栈结构处理相邻的"k串"(形如1(01)^k),合并可操作的串并计算最小1的个数。输入为字符串,输出最小1的个数。例如输入"1010011"经操作后得到3个1。
2026-01-15 15:45:00
747
2
原创 【拆环 离散化 】P9259 [PA 2022] Fotografia|普及+
本文摘要: 题目要求将n个身高互不相同的人按升序排列,通过特定交换操作实现最少操作次数。每次操作选择一组位置,按逆序重新插入。关键思路包括: 离散化身高到[0,N-1]范围 分析交换操作的环结构性质,每个节点的出度和入度均为1 对于长度≥3的环,通过交换相邻节点逐步分解为小环 提出最优交换策略:每次操作交换最大和最小节点,可在最多2轮内完成排序 代码实现核心包括离散化处理、环检测和交换策略规划。特别处理了长度为3和4的环情况,确保最优解。最终输出最少操作次数及具体操作序列。
2026-01-15 07:00:00
713
1
原创 【LCA 树上差分】P10931 闇の連鎖||普及+
摘要 本文讨论了解决"暗之连锁"问题的算法方案。题目要求通过切断一条主要边和一条附加边将无向图分割为不连通的两部分。主要思路是: 利用树上倍增算法计算最近公共祖先(LCA),处理附加边对主要边的影响 使用差分数组技术高效统计每条主要边对应的附加边数量 根据性质分析不同情况下的切断方案数: 无附加边影响时可选任意附加边 仅一条附加边影响时必须切断该边 多条附加边影响时无可行方案 最终通过DFS遍历树结构,结合LCA和差分数组技术高效计算总方案数。算法时间复杂度为O(N+M logN),适用
2026-01-14 16:45:00
1542
原创 【康托展开 错排问题】P8788 [蓝桥杯 2022 国 A] 填空问题|普及+
本文摘要: 题目包含两道组合数学问题。A题考察错排问题,要求计算28个孩子中恰好14个拿到自己钥匙的方案数,使用组合数C(28,14)与错排公式E(n)=(n-1)(E(n-1)+E(n-2))求解。B题涉及康托展开,计算两个17元素排列之间的最小转移次数,通过比较字典序差值与全排列数17!的差值来求解。解题核心在于组合数学中的错排理论和排列序数计算。
2026-01-14 07:00:00
1324
1
原创 【01背包 排序】3685. 含上限元素的子序列和|2073
本文讨论了如何解决3685题"含上限元素的子序列和"问题。该问题要求对于每个x值,判断在将数组元素限制为min(nums[i],x)后,能否选出和为k的子序列。文章提出了基于01背包的动态规划解法,状态can[i][j]表示前i个元素能否组成和为j的子序列。通过排序数组和滚动数组优化空间复杂度,最终得出每个x对应的答案。代码实现展示了如何高效处理这一问题,时间复杂度为O(NK),适用于给定的约束条件。
2026-01-13 16:45:00
731
3
原创 【三维 五角星】平面五角星放样到三维
本文介绍了如何通过计算几何方法创建3D五角星模型。首先在平面上构建五边形,然后通过减去五个三角形形成五角星轮廓。接着使用放样技术将平面五角星沿Z轴延伸,形成上下两个锥体并合并为完整3D模型。文章提供了C#实现代码,展示了从2D图形到3D实体的转换过程,适用于几何建模和CAD开发。
2026-01-13 11:20:15
816
36
原创 【状态机动态规划】3686. 稳定子序列的数量|1969
给你一个整数数组 nums。如果一个 子序列 中 不存在连续三个 元素奇偶性相同(仅考虑该子序列内),则称该子序列为稳定子序列 。请返回所有稳定子序列的数量。由于结果可能非常大,请将答案对 109 + 7 取余数后返回。子序列 是一个从数组中通过删除某些元素(或不删除任何元素),并保持剩余元素相对顺序不变的 非空 数组。
2026-01-11 16:45:00
851
4
原创 【回文 字符串】3677 统计二进制回文数字的数目|2223
本文讨论了如何统计给定范围内二进制回文数字的数量。二进制回文数是指其二进制表示正读反读都相同的非负整数。文章提出了一个算法思路:先统计所有长度小于n二进制位数的回文数,然后处理与n位数相同的回文数。核心思想是将数字转换为二进制字符串,通过比较字符串的前后部分来判断是否为回文。代码实现包括将数字转为二进制字符串、计算固定位数回文数数量等功能,并通过单元测试验证了算法的正确性。该算法适用于0到10^15的大数范围,具有较高的效率和实用性。
2026-01-11 07:55:47
563
4
原创 【树状数组】P3031 [USACO11NOV] Above the Median G|普及+
本文介绍了一个使用树状数组解决中位数问题的算法。题目要求统计所有连续子序列中中位数大于等于X的数量。核心思路是将原数组转换为-1和1的数组(根据元素是否≥X),然后计算前缀和。通过树状数组高效统计满足条件的前缀和数量,最终得出结果。算法时间复杂度为O(N log N),适用于大规模数据。代码实现了树状数组的封装类,并提供了详细的解题思路和示例分析。
2026-01-10 16:45:00
946
3
原创 【二阶差分 树状树状】P1438 无聊的数列|普及+
维护一个数列 $a_i$,支持两种操作: - `1 l r K D`:给出一个长度等于 $r-l+1$ 的等差数列,首项为 $K$,公差为 $D$,并将它对应加到 $[l,r]$ 范围中的每一个数上。即:令 $a_l=a_l+K,a_{l+1}=a_{l+1}+K+D\ldots a_r=a_r+K+(r-l) \times D$。 - `2 p`:询问序列的第 $p$ 个数的值 $a_p$。
2026-01-10 07:00:00
1402
3
原创 【二阶差分 树状数组】 P4868 Preprefix sum|普及+
前缀和(prefix sum)$S_i=\sum_{k=1}^i a_k$。前前缀和(preprefix sum)则把 $S_i$ 作为原序列再进行前缀和。记再次求得前缀和第 $i$ 个是 $SS_i$。给一个长度 $n$ 的序列 $a_1, a_2, \cdots, a_n$,有两种操作:1. `Modify i x`:把 $a_i$ 改成 $x$。2. `Query i`:查询 $SS_i$。
2026-01-09 19:46:49
731
原创 【前缀和】P9043 [PA 2021] Zbalansowane słowa|普及+
本文介绍了如何统计字符串中"好的子串"数量,即所有字符出现次数相同的子串。核心解法是使用前缀和技巧,通过维护两个数组ab和ac来记录字符数量差值,利用哈希表统计满足条件的子串对。此外,还需单独处理只有单一或两种字符的特殊情况。代码部分展示了前缀和实现及输入输出优化,适用于处理大规模数据(长度≤3×10^5)。
2026-01-07 17:00:00
1398
1
原创 【动态规划 前缀和 树状数组 离散化】P9049 [PA 2021] Mopadulo|普及+
本文探讨了使用动态规划、前缀和和树状数组解决区间划分问题的算法。给定序列a,要求将a划分为若干区间,使每个区间和模1e9+7为偶数的方案数。通过维护前缀和preSum[i]并利用其奇偶性性质,将O(n²)的暴力DP优化为O(nlogn)的树状数组解法。具体实现中,使用两个树状数组分别记录前缀和为奇数和偶数的状态,通过离散化处理避免动态开点。最终返回dp[n]即为所求方案数,时间复杂度O(nlogn),空间复杂度O(n)。
2026-01-07 07:00:00
975
5
原创 【前缀和 期望】P7875 「SWTR-7」IOI 2077|普及+
摘要 本文介绍了题目「SWTR-7」IOI 2077的解法,主要涉及期望值的计算。题目给定n个候选参赛者,按能力值递增排序,q种参赛情况,每种情况包含区间[l,r]和主角编号k。要求计算在每种情况下,主角选择队友的能力值之和的期望值,并对结果取模后求异或和。 解法思路 问题分析:主角选择队友时,必须保证自己的能力值是中位数。设区间长度为s,m在[0, ⌊(s-1)/2⌋]中随机选择,并等概率选择2m个队友。 概率计算:对于左区间(能力值小于主角)和右区间(能力值大于主角),分别计算每个元素被选中的概率。推导
2026-01-06 17:00:00
1647
1
原创 【前缀和】3756. 连接非零数字并乘以其数字和 II|1968
本文介绍了一种基于前缀和的高效算法,用于解决字符串数字子串的特殊计算问题。给定数字字符串和多个查询区间,算法需要提取子串中的非零数字,连接成整数x并计算其数字和sum,最终返回x*sum对1e9+7取模的结果。 核心思路是使用三种前缀和数组: cntPreSum记录非零字符数量 xPreSum记录前缀连接的非零数字值 sumPreSum记录前缀数字和 通过预处理这些前缀和数组,可以在O(1)时间内计算任意子串的结果。算法使用模数类C1097Int处理大数运算,确保正确性。测试用例验证了算法在各种情况下的正确
2026-01-06 07:00:00
1401
3
原创 【线性求逆元 前后缀分解 期望 前缀和】P6862 [RC-03] 随机树生成器|本文涉及知识点|普及+
小 R 有一个随机树生成器,其工作原理如下:- 输入 $n$,则对于每个 $1<i\le n$,随机选择一个 $[1,i)$ 中的节点作为其父亲。返回这棵树。给定 $n,k$,小 R 想知道可能生成的所有 $n$ 个点的树中,$k$ 号点的度数和。由于答案可能很大,请输出答案模 $10^9+9$ 的值。
2026-01-05 17:00:00
589
1
原创 【二分查找 图论】P10206 [JOI 2024 Final] 建设工程 2|普及+
本文研究了JOI 2024 Final中的"建设工程2"问题,需要计算在铁路网络中新增线路后满足国王时间要求的方案数。主要思路是: 首先检查原始网络中S到T的最短路径是否已满足K分钟要求,若满足则直接返回所有可能的线路组合数N*(N-1)/2。 否则,利用图论中的最短路径算法预处理: 计算从S出发到各点的最短距离d1 计算从各点到T的最短距离d2 对于每对可能的站点(u,v),通过二分查找统计满足d1[u]+L+d2[v]≤K或d1[v]+L+d2[u]≤K的组合数。 最终结果需去重处理
2026-01-05 07:00:00
1789
63
原创 【前缀和 动态规划】P8675 [蓝桥杯 2018 国 B] 搭积木|普及+
小明对搭积木非常感兴趣。他的积木都是同样大小的正立方体。在搭积木时,小明选取 $m$ 块积木作为地基,将他们在桌子上一字排开,中间不留空隙,并称其为第 $0$ 层。随后,小明可以在上面摆放第 $1$ 层,第 $2$ 层,……,最多摆放至第 $n$ 层。摆放积木必须遵循三条规则:规则 $1$:每块积木必须紧挨着放置在某一块积木的正上方,与其下一层的积木对齐;规则 $2$:同一层中的积木必须连续摆放,中间不能留有空隙;规则 $3$:小明不喜欢的位置不能放置积木。其中,小明不喜欢的位置都被
2026-01-04 17:00:00
704
1
原创 【前后缀分解 前缀和】P10274 [USACO24OPEN] Logical Moos B|普及+
题目分析 本题要求处理一个由布尔值和逻辑运算符组成的表达式,并通过前后缀分解技术高效处理大量查询。关键点在于: 表达式结构:表达式由交替的布尔值(true/false)和逻辑运算符(and/or)组成,运算符优先级遵循and高于or。 查询处理:对于每个查询,需要判断将指定区间的子表达式替换为true或false后,整个表达式能否得到目标布尔值。 优化思路:使用前后缀分解技术预处理表达式,将表达式按or运算符分割成多个段,记录每段的真值情况。通过二分查找快速定位查询区间影响的段范围。 算法思路 预处理:收集
2026-01-04 07:00:00
930
2
原创 【二分 寻找尾端】P7971 [KSN2021] Colouring Balls|普及+
有 $N$ 个小球,从 $1$ 到 $N$ 编号。你每次可以询问编号在 $[l,r]$ 之间的小球有几种不同的颜色,你需要求出每个小球的颜色。由于你并不知道具体颜色是什么,你只要将同种颜色用同一个数字表示即可。
2026-01-03 20:42:30
1005
2
原创 【二分查找】P9822 [ICPC2020 Shanghai R] Walker【有误差】|普及
作为著名的旅行者,Prof. Pang 的研究兴趣是在一生中到尽可能多的地方旅游。在一条 $[0,n]$ 的线段上有两名旅行者,第一名在位置 $p_1$ 以 $v_1$ (每秒钟可以走 $v_1$ 单位的距离)的速度开始运动,第二名在位置 $p_2$ 以 $v_2$ 的速度开始运动。从他们分别的起始点出发,旅行者可以在线段上移动,但不可以走出线段。他们可以随时改变自己的方向。请帮助 Prof. Pang 计算至少需要多少时间,线段上的每个位置都至少被一名旅行者经过。
2026-01-03 20:38:41
702
原创 【二分查找】P9029 [COCI 2022/2023 #1] Čokolade|普及+
巧克力工厂里有 $n$ 块不同的巧克力,其中第 $i$ 块的价格为 $c_i$。Lana 和 Fran 想买 $m$ 块巧克力。Fran 有一个消费方案:•如果巧克力价格低于 $k$ 元,这块巧克力的费用将全部由 Lana 支付。•否则,Lana 将支付 $k$ 元,而 Fran 将支付其余的部分,即 $c_i−k$ 元。Lana 对 Fran 的方案不满意,想要报复 Fran。设 $l$ 为 Lana 需要支付的金额,$f$ 为 Fran 需要支付的金额。Lana 将选择使 $l−f$ 的
2026-01-02 17:00:00
1036
2
原创 亲士CAD工具箱使用方法、下载地址、需求收集
摘要:亲士CAD工具箱现支持CAD2013及以上版本(不兼容2012及以下),现公开征集功能需求。开发者邀请用户通过评论提交对二维/三维功能的改进建议或新增需求,以优化工具箱功能。
2026-01-02 11:37:25
132
2
原创 【状态压缩动态规划 二分图】P4329 [COCI 2006/2007 #1] Bond|普及+
每个人都知道特工 007,著名的邦德(詹姆斯·邦德)。一个鲜为人知的事实是,他实际上并没有亲自完成大多数任务;这些任务是由他的表亲,吉米·邦德们完成的。邦德(詹姆斯·邦德)已经厌倦了每次接到新任务时都要分配任务给吉米·邦德们,所以他请求你帮助他。每个月,邦德(詹姆斯·邦德)都会收到一份任务清单。利用他从过去任务中获得的详细情报,对于每个任务和每个吉米·邦德,他计算出该吉米·邦德成功完成该任务的概率。你的程序应该处理这些数据,并找到一种安排,使得所有任务成功完成的概率最大化。注意:所有任务成功完成的概率等于单
2026-01-02 07:00:00
583
1
原创 【二分查找】P10091 [ROIR 2022 Day 2] 分数排序|普及+
有两个由 $n$ 个不同整数组成的序列 $A = [a_1, a_2, \dots , a_n]$ 和 $B = [b_1, b_2, \dots , b_n]$。将它们组合成 $n^2$ 个分数,形式为 $\frac{a_i}{b_j}$,并将每个分数约分后按递增顺序排序。给定一个数字 $q$ 和 $q$ 个整数 $c_1, c_2, \dots , c_q$。对于每个 $c_i$,请输出上面所说的 $n^2$ 个分数中第 $c_i$ 小的分数。
2026-01-01 20:28:29
725
5
原创 【C# CAD三维建模 .Net API】三维建模基础一
本文介绍了使用计算几何技术创建复杂三维实体的过程。通过分步构建和布尔运算,演示了如何从基础长方体出发,依次进行减法操作(去除小长方体和圆柱体)、加法操作(合并圆柱环)以及特殊形状(梯形)的添加。每个步骤都配有相应的C++代码实现,包括实体创建、拉伸操作和布尔运算等关键函数调用。文中还强调了算法实现中的注意事项,如切点选择和方向控制。最终生成的3D模型展示了计算几何在机械设计中的应用价值。
2026-01-01 20:21:59
1995
74
原创 【二分查找 寻找首端】P9124 [USACO23FEB] Bakery SP|普及+
Bessie 开了一家面包店!在她的面包店里,Bessie 有一个烤箱,可以在 $t_C$ 的时间内生产一块饼干或在 $t_M$ 单位时间内生产一块松糕。$(1 \le t_C,t_M \le 10^9)$。由于空间限制,Bessie 一次只能生产一种糕点,所以要生产 $A$ 块饼干和 $B$ 块松饼,需要 $A\cdot t_C+B\cdot t_M$ 单位的时间。Bessie的 $N (1\le N\le 100)$ 朋友都想一个一个地去面包店。第 $i$ 个朋友一进门就会点 $a_i(1 \
2025-12-31 17:00:00
1520
1
原创 【二分查找 树状数组 离散化】P9176 [COCI 2022/2023 #4] Vrsta|普及+
Domagoj 最喜欢的课是体育课。每节体育课都以热身运动开始。体育老师有一个有趣的方法来选择带领其他同学做热身运动的学生。学生们按身高从低到高的顺序站成一排,老师会选择站在队伍中间的学生。如果有两个学生在中间,他将选择较矮的那个。例如:如果学生的身高为 $1, 3, 5, 7, 11$,身高为 $5$ 的学生将带领其他同学做热身运动。Domagoj 记不住他同学的身高。幸运的是,站在他旁边的 Lovro 十分擅长估计他人的身高。他给了 Domagoj $n$ 条信息:「有 $a_i$ 个身高为 $v_
2025-12-31 07:00:00
1074
原创 【逆序思考 堆 二分查找 前缀和】3771. 探索地牢的得分|1981
给你一个 正整数 hp 和两个 正整数 数组 damage 和 requirement,数组下标从 1 开始。有一个地牢,里面有 n 个陷阱房间,编号从 1 到 n。进入编号为 i 的房间会使你的生命值减少 damage[i]。减少后,如果你的剩余生命值至少为 requirement[i],你可以从该房间获得 1 分。定义 score(j) 为从房间 j 开始,依次进入房间 j, j + 1, ..., n 时可以获得的总分。返回整数 score(1) + score(2) + ... + sco
2025-12-30 16:45:00
746
2
原创 【计算几何 随机化】P4703 偷上网|普及+
本文研究了P4703偷上网问题,涉及计算几何和随机化算法。题目要求在n个无线信号屏蔽器覆盖的l×l正方形区域内找到一个未被覆盖的位置。当n≤3时,通过几何分析可确定四个顶点或边中点至少有一个不在覆盖范围内;当n>3时,采用随机化方法在区域内采样1000次,统计概率确保找到解。代码实现了几何距离计算和随机点验证,输出满足条件的坐标或"GG"表示无解。该算法结合几何特性和概率方法,高效解决了覆盖检测问题。
2025-12-29 17:00:00
635
原创 【2025博客之星】求职总结
摘要:本文记录了一位技术架构师的求职经历与心得。作者详细描述了8-11月的求职过程,包括等待美联储降息、调整薪资期望、线上线下投递简历及面试经历。总结了私企面试特点:小公司机会更多,同乡关系有助获得面试;技术面试偏重主流技能而非小众技巧;架构师与老板沟通相对顺畅。文章还分享了关于大公司背锅文化、技术学习方向的思考,以及未来计划专注CAD开发与计算几何学习。最后提出求职建议:可先在家测试薪资期望,再到昆山或广州集中求职。
2025-12-29 07:00:00
1243
48
原创 【前缀和 二分查找】P9186 [USACO23OPEN] Milk Sum S|普及+
本文摘要: 题目要求处理奶牛产奶量变化对最优挤奶顺序的影响。给定N头奶牛的产奶量a_i,初始最优顺序T是按升序排列后计算∑(i+1)*b[i]。对于Q个查询,每次临时修改a_i为j,需要快速计算新的T值。 核心解法: 将产奶量排序得到b数组,计算初始T值 使用前缀和数组优化计算 对于每个查询: 从排序数组中删除原值a_i 插入新值j到合适位置 计算新T值,考虑位置变化对总和的影响 使用二分查找确定插入位置,时间复杂度O(nlogn) 输入输出样例验证了算法的正确性,适用于大规模数据(N,Q≤1.5×10^5
2025-12-28 17:53:24
657
1
原创 【计算几何 化环为链】P14165 [ICPC 2022 Nanjing R] 清空水箱|普及+
本文研究了ICPC 2022南京站竞赛题目"清空水箱"的解法。该问题要求在多边形水箱上安装最少数量的出水阀门,使得打开所有阀门后水箱中的水能完全流出。通过计算几何分析,发现只需在满足特定条件的顶点处安装阀门即可。关键点在于:1) 处理相邻顶点共线的情况;2) 使用化环为链的方法简化多边形处理;3) 通过叉积判断顶点是否需要阀门。最终解法时间复杂度为O(n),适用于顶点数n≤2000的情况。样例测试验证了算法的正确性,如样例1需2个阀门,样例2仅需1个。
2025-12-28 17:51:54
1044
原创 【二分查找 三维差分】P8666 [蓝桥杯 2018 省 A] 三体攻击|普及+
三体人将对地球发起攻击。为了抵御攻击,地球人派出了 $A\times B\times C$ 艘战舰,在太空中排成一个 $A$ 层 $B$ 行 $C$ 列的立方体。其中,第 $i$ 层第 $j$ 行第 $k$ 列的战舰(记为战舰 $(i, j, k)$)的生命值为 $d(i, j, k)$。三体人将会对地球发起 $m$ 轮“立方体攻击”,每次攻击会对一个小立方体中的所有战舰都造成相同的伤害。具体地,第 $t$ 轮攻击用 $7$ 个参数 $la_t, ra_t, lb_t, rb_t, lc_t, rc_t
2025-12-27 17:00:00
714
2
原创 【计算几何 最短路 动态规划】P1354 房间最短路问题
本文探讨了房间最短路问题的动态规划解法。题目要求在包含多堵墙的房间内,从入口(0,5)到出口(10,5)寻找最短路径。解法采用动态规划思路,将各墙上的缺口端点映射为整数状态,定义dp[x][y]表示到达第x堵墙y坐标的最短距离。状态转移通过枚举前驱状态和缺口间的可行路径完成,时间复杂度为O(NM²)。同时分析了计算几何方法,证明直线路径最优性,并给出交点判断条件。最终实现采用邻接表建图后求最短路,时间复杂度优化至O(N³)。
2025-12-27 07:00:00
959
1
原创 【离线查询 前缀和 二分查找 栈】P12271 [蓝桥杯 2024 国 Python B] 括号与字母|普及+
给定一个仅包含小写字母和括号的字符串 $S$,保证括号可以两两匹配。给出 $Q$ 组询问,每组询问给出一个小写字母 $c_i$ 和一个数 $x_i$,询问 $S$ 中有多少对匹配的括号之间有不少于 $x_i$ 个 $c_i$。
2025-12-26 17:00:00
1574
1
喜缺全书算法册 C++实现
2023-09-17
喜缺全书之平凡的经历最新版
2023-08-18
朴素迪氏最短单源路径的原理及C++源码及测试用例
2023-09-30
01BFS最短距离原理和C++实现
2023-09-29
深度优先搜索(BFS)的原理和C++实现
2023-09-28
美丽塔单调栈O(n)解法
2023-09-27
较难算法: 美丽塔 时间复杂度O(nlongn)
2023-09-24
让数组不相等的最小总代价
2023-09-23
《闻缺陷则喜》之《主册》
2022-09-10
二分查找旋转数组源码和视频
2023-08-20
简单的C#类 生成对应的C#类
2021-11-07
保存文件的同时删除文件,保存用时会略微升高
2021-10-11
多线程样例一 读写参数文件
2021-09-09
【计算机视觉】基于C++与Halcon的CAD二次开发架构设计:面向工业检测领域的算法集成与系统稳定性优化
2025-09-27
本博文算法对应源码单元测试用例
2024-07-05
本博客配套流程图,会经常更新
2024-04-24
搜索矩阵C++实现:二分查找Z形查找
2023-12-17
长度最短的子数组C++实现
2023-12-10
[二分查找双指针]LeetCode881: 救生艇
2023-12-03
两数之和 - 输入有序数组
2023-11-26
C++二分查找算法:132 模式
2023-11-12
C++算法:第 N 位数字原理、源码、测试用例
2023-11-05
C++二分查找算法应用:最长递增子序列 原理、源码、测试用例
2023-10-29
二分应用:峰值查找 原理、源码、测试用例
2023-10-22
C++算法:前缀和基础
2023-10-15
时间复杂度O(40n*n)的C++算法:修改图中的边权
2023-10-14
多源最短路径的原理及C++实现
2023-10-04
堆优化迪氏最短单源路径原理及C++实现
2023-10-03
.有向图计数优化版原理及C++实现
2023-10-02
有向图访问计数的原理及C++实现
2023-10-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅