自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 P1110 [ZJOI2007] 报表统计 题解

摘要:本文提出了一种高效处理动态插入和查询操作的算法。通过分析发现,对于每个原始元素及其插入值,只需关注首尾元素而非全部中间值。算法采用两个multiset分别存储所有数值和相邻差值,利用二分查找快速更新最小值。插入操作时,先查找合适位置更新最小值,再调整相邻差值;查询操作直接返回预存结果。这种方法避免了暴力枚举,将时间复杂度优化为对数级别,适用于大规模数据处理。

2025-12-02 19:50:02 230

原创 P2865 [USACO06NOV] Roadblocks G 题解

本文提出了一种求无向图次短路的算法。通过分析发现次短路有两种构成方式:1)比最短路多经过一条边;2)最短路中某条边被重复经过。算法使用Dijkstra分别计算起点和终点到各点的最短路径,然后枚举所有边,检查这两种情况下的路径长度。对于第一种情况,需确保路径不是最短路;第二种情况则寻找最短路中可重复的最小权重边。最终取这两种情况下的最小值作为次短路长度。该算法避免了发明新算法,巧妙地利用最短路变形求解次短路问题。

2025-11-30 18:18:13 205

原创 P3369 【模板】普通平衡树 题解

本文介绍了一种基于权值线段树实现平衡树功能的方法。通过动态开点处理1e7范围的数值,实现了六种操作:插入(操作1)、删除(操作2)、查询排名(操作3)、查询排名对应数值(操作4)、前驱查询(操作5)和后继查询(操作6)。采用非结构体存储节点信息优化空间,使用递归方式实现区间查询和数值查找。每个操作的时间复杂度为O(log n),其中n为数值范围。该方法避免了传统平衡树的复杂旋转操作,通过线段树的区间特性高效实现了平衡树的核心功能,适合处理大规模数值查询问题。

2025-11-19 20:16:08 207

原创 P4409 [ZJOI2006] 皇帝的烦恼 题解

摘要:本文讨论了一个环形勋章分配问题的解法。通过简化问题为链状结构,发现答案应取相邻将军勋章和的最大值与所有勋章总数除以n/2(考虑不相邻约束)的较大值。文中提供了简洁的C++实现,算法复杂度为O(n)。该方法通过比较相邻元素和与全局平均值来确定最小所需勋章数,适用于环形排列场景。

2025-11-09 18:17:34 209

原创 OI血与泪的教训(持续更新)

本文总结了OI竞赛中的常见错误和注意事项,主要包括三大类:1.基础编程问题,如数据类型选择、调试技巧、内存管理等;2.OI赛制特有规范,包括输入输出处理、命名空间使用等;3.特定算法实现要点,覆盖排序、STL、图论、DP等算法。作者特别强调long long使用、代码调试方法、赛制规范遵守等关键点,并针对不同算法给出了具体建议。文章将持续补充完善,旨在帮助OI选手规避常见错误,提升竞赛表现。

2025-11-09 14:14:20 764

原创 P1041题解

摘要:本文提出了一种基于搜索的算法来解决特定图论问题。算法核心思想是将原始图转换为树结构,通过Dijkstra算法计算节点到根的距离作为感染时间。然后采用DFS遍历,在每一层选择保护某个子树来最大化存活节点数。算法使用标记数组记录保护状态,通过回溯方式暴力搜索所有可能的保护组合。该方法虽然时间复杂度较高,但通过巧妙的问题转化和剪枝策略实现了有效求解,最终输出最小感染节点数。

2025-10-22 19:07:17 202

原创 P1040题解

【摘要】本文介绍了一道基于中序遍历的区间DP问题。通过定义dp[i][j]表示序列i到j的最大值,利用区间DP算法求解最优二叉搜索树。关键点在于记录每个区间的根节点,以便后续输出前序遍历结果。算法的时间复杂度为O(n^3),实现了最大值计算和前序遍历输出。代码展示了完整的实现过程,包括初始化、状态转移和递归输出前序序列。

2025-10-18 17:25:04 190

原创 ABC426A-D+F题解

本文分享了5道编程竞赛题的解题思路与实现代码。A题通过map维护名字等级进行简单比较;B题使用map统计字符出现次数找出唯一字符;C题利用差分数组高效处理批量电脑升级操作;D题分析字符串操作规律计算最小操作次数;F题采用线段树优化区间查询。题目难度从简单到中等,覆盖了基础数据结构与算法应用。

2025-10-08 16:56:55 459

原创 P2801题解

本文提出了一种分块算法解决区间修改和查询问题。通过将数组分为多个块,预处理时对每个块内元素排序。对于区间修改,整块采用懒标记处理,散块则暴力修改后重新排序;查询时,整块使用二分查找,散块暴力统计。算法实现了O(√n)的复杂度,适用于大规模数据。关键点包括正确处理懒标记、散块处理和整块查询的优化。代码实现展示了分块、排序、修改和查询的具体操作。

2025-10-05 16:00:00 242

原创 P13978题解

这篇文章介绍了一个分块算法实现,用于处理区间修改和查询问题。作者采用了以下方法:将数据分块并排序,修改时对整块加懒标记、散块暴力修改后重排序;查询时对整块二分查找、散块暴力遍历。文章提醒了注意事项:1.不能忘记分块处理;2.二分查找时要注意边界条件。最后作者自嘲因为没写build函数而不得不优化代码性能。

2025-10-05 10:24:27 232

原创 P13977题解

本文介绍了一种使用分块算法解决数列查询问题的方案。通过将数列分块并维护有序向量,实现了区间修改和查询操作。对于区间修改,采用标记处理整块、暴力处理散块的方法;对于查询操作,在整块中使用二分查找高效统计,散块则暴力处理。相比线段树,该方法更易实现且不易出错,特别适合处理复杂查询条件。文章包含完整C++实现代码,展示了分块排序、区间更新和查询统计的具体实现细节。

2025-10-02 15:19:08 152

原创 P1447题解

这道题目通过容斥原理计算网格点对间的特殊性质。关键发现是两点连线上的整数点数量等于它们的gcd值。作者采用埃氏筛思想,先计算gcd为i的点对数量dp[i]=(n/i)(m/i),再减去所有i的倍数以避免重复计数。最终答案为Σ(i2-1)*dp[i]。该解法利用逆向处理和后缀优化,将复杂度控制在可接受范围内。代码实现了这一思路,适用于较大规模的输入数据。

2025-10-01 20:21:14 155

原创 ABC425A-E题解

比赛题解摘要 本次比赛包含5道题目,难度建议为红红橙黄黄(简单到中等)。A题通过交替加减立方数求和;B题检查1~n的排列可行性;C题是RMQ问题,通过维护前缀和解决;D题是BFS模拟染色问题,需注意同时更新的处理;E题是组合数学题,用杨辉三角预处理组合数。各题解法包括:交替变量、重复元素检查、前缀和维护、双队列BFS优化、组合数预处理等技巧。 (字数:150字)

2025-09-29 20:28:57 637

原创 P3044题解

文章摘要:该文介绍了一种基于Dijkstra算法的暴力解法,用于解决最多5个城镇的最短路径问题。通过枚举所有城镇排列组合,计算每个非城镇点到各城镇的最短距离之和,取最小值作为最终结果。文中提供了完整的C++代码实现,包括预处理、Dijkstra算法和排列枚举等关键步骤。该解法时间复杂度为O(120n),虽然常数较大但仍可接受。代码使用邻接表存储图结构,并利用优先队列优化Dijkstra算法。

2025-09-27 18:45:46 220

原创 P3051题解

摘要:本文讨论了一个环形土堆调整问题,通过数学建模将问题转化为绝对值不等式求解。核心思路是利用前缀和计算土堆差值,排序后取中位数来最小化移动量。算法时间复杂度为O(nlogn),主要来自排序操作。代码实现简洁,仅需计算前缀和、排序求中位数并累加绝对差即可得到最优解。

2025-09-27 18:45:37 253

原创 P1407题解

摘要:该文探讨了一个基于图论的关系稳定性判定问题。通过将男女关系建模为有向图(夫妻关系女→男,情侣关系男→女),使用Tarjan算法求强连通分量。若夫妻节点处于同一强连通分量则判定为"Unsafe"关系,否则为"Safe"。文中给出了具体的C++实现代码,包括图的构建、Tarjan算法应用和结果判断逻辑。该解法将复杂的社交关系转化为图论问题,通过分析环状结构来评估关系稳定性。

2025-09-25 18:46:54 230

原创 P1053题解

摘要:这道思维题要求通过特定操作将初始排列转换为满足相邻条件的目标排列。关键在于:1)若存在无法满足的相邻关系则输出-1;2)否则通过线性推导构建目标排列;3)计算最少操作次数时,将排列视为环结构,寻找能使最多元素保持不动的旋转位移,最终结果为n减去最大不动元素数。时间复杂度为O(n)。

2025-09-24 19:00:00 267

原创 P1073题解

摘要:本文提出了一种分层图结合SPFA算法解决股票买卖问题的优化方法。通过构建三层图(未买入、已买入未卖出、已卖出)来表示不同交易状态,层间通过带权边连接表示买卖操作。该方法避免了tarjan缩点的复杂度,使用SPFA求最长路径来获取最大收益。代码实现了三层图的构建和状态转移,最终输出第三层终点节点的值即为最优解。

2025-09-24 17:46:02 212

原创 ABC424A-E题解

这一道题给你三条边的长度,问你这个组成的三角形是不是等腰三角形.那么我们只需分别判断是否有两个或更多数相等即可.

2025-09-23 19:00:00 1301

原创 CF842D题解

摘要:本文介绍了一种基于01trie树解决序列异或问题的方法。题目要求对序列进行异或操作后查询最小未出现的非负整数。核心思路是利用trie树结构,通过判断子树是否完整来确定缺失数字。对于修改操作,采用按位异或时交换左右子树的方法来提高效率。代码实现中使用了二进制位处理和动态维护trie树,最终达到高效查询的目的。

2025-09-23 15:15:10 287

原创 CF655E 题解

本文介绍了一种使用01Trie树解决异或相关问题的算法。通过预处理前缀异或和,将数值存入Trie树中,利用位运算特性与给定阈值k进行比较。当k的某位为1时,必须选择相反位路径;否则累加可选分支的计数值。算法优化了常规前缀和方法的复杂度,并采用从1开始编号的技巧简化边界处理。文末给出了核心代码实现,包括插入和查询函数,以及主函数处理输入输出的过程。该解法适用于处理大规模数据下的异或区间统计问题。

2025-09-21 18:46:43 154

原创 P1039题解

这道题目要求通过嫌疑人陈述找出凶手。数据范围较小(20人,7天),采用暴力枚举法。首先过滤无效信息,保留9种关键陈述。然后枚举每个可能的凶手和星期几,判断是否恰好有m人说谎,并确保每个人要么全说真话要么全说谎。最终输出唯一可能的凶手,否则输出无法确定或不可能。代码实现时需注意输入处理和边界条件,如getline可能出错建议使用cin。

2025-09-21 09:00:00 246

原创 ABC423A-E题解

讲述了ABC423A-E题目

2025-09-20 12:49:39 1092 1

原创 费马小定理的证明

摘要:费马小定理指出当a与质数p互质时,a^(p-1) ≡ 1 (mod p)。通过构造1到p-1的序列并将每个元素乘以a,证明乘积等于(p-1)!,从而得出定理成立。该定理可用于求乘法逆元,即a的逆元为a^(p-2) mod p。证明过程利用了模运算的性质和唯一性原理。

2025-09-19 19:03:30 173

原创 P1198题解

摘要:本文提出了一种基于ST表的高效算法,用于解决动态RMQ问题。针对20万规模的数据,采用反向ST表设计,支持O(logn)时间复杂度的插入操作和查询操作。通过预处理对数数组,将区间拆分为已维护的子区间,实现快速更新。查询时利用两个2的幂次区间覆盖目标区间,保证查询效率。算法巧妙避免了线段树的复杂实现,适用于需要频繁插入和查询的场景。代码实现简洁高效,通过动态维护ST表来响应插入操作,并支持区间最大值查询。

2025-09-17 20:17:46 197

原创 P1107题解

摘要:本文介绍了一道动态规划优化题目。原问题需要O(n³)复杂度,通过预处理pre数组优化至O(n²)。状态dp[i][j]表示第i棵树高度j时的最大柿子数,转移方程利用pre数组存储各高度最优解。关键优化在于将三重循环简化为双重循环,通过预处理避免重复计算,最终在合理时间内求解。

2025-09-16 21:07:07 304

原创 P1069题解

摘要:该题要求将几何增长的细菌均分给n^m个试管,求最短时间。解题关键在于分解质因数,检查细菌底数是否包含试管底数的所有质因数。若包含,则通过统计质数出现次数,进行除法比较取最大值;否则无解。代码实现中,先处理输入数据,然后对每个细菌进行质因数分解和比较,最终输出最小时间或-1表示无解。核心思路是质因数分解和最大值的比较计算。

2025-09-15 21:22:21 226

原创 P1043题解

摘要:本文探讨了环形区间分段最值问题的动态规划解法。针对暴搜效率低的问题,采用区间DP策略,通过断环成链处理环形结构。定义状态dp[i][j][l]表示区间i到j分成l段的最值,使用前缀和优化计算。状态转移方程考虑了分段交界点k,通过枚举左右端点实现高效更新。最终代码实现了O(n^3)时间复杂度的解法,能够处理200以内的数据规模,正确计算环形区间分段后的最大和最小值。

2025-09-13 22:05:34 275

原创 ABC420A-E题解

本次比赛包含5道题目,难度从简单到中等。A题计算月份变化,通过模运算即可解决。B题处理字符串加分规则,需统计少数群体进行加分。C题维护两个数组最小值之和,通过局部更新优化性能。D题是带开关的BFS题,需记录开关状态。E题使用并查集维护连通性和黑色节点数量。整体难度建议:红红橙黄黄(对应CF难度1200-1600)。

2025-08-26 19:00:00 477

原创 线段树详解【数据结构】

线段树是一种高效的区间操作数据结构,支持区间查询和修改操作,时间复杂度为O(logn)。其核心思想是将区间分解为二叉树结构,每个节点代表一个区间。通过懒标记技术实现高效的区间修改。虽然代码量较大,但通过合理优化(如动态开点)可以节省空间。线段树适用于各类区间问题,是算法竞赛中的重要工具。本文详细介绍了线段树的原理、实现方法(包括建树、懒标记下传、区间修改和查询等操作),并提供了完整代码示例和优化建议,帮助读者掌握这一数据结构。

2025-08-22 19:00:00 1040

原创 线段树模版

本文展示了一个线段树模板代码,用于实现区间增加和区间查询功能。代码包含:1)线段树结构体定义;2)建树函数build;3)下传标记函数pushdown;4)区间更新函数update;5)区间查询函数find。主函数处理输入输出,支持两种操作:1)区间[x,y]加k;2)查询区间[x,y]的和。该模板使用惰性标记(lazy)优化,时间复杂度为O(logN)。适用于处理大规模数据的区间修改和查询问题。

2025-08-22 19:00:00 215

原创 单调栈【数据结构】

摘要:单调栈是一种用于快速查找数组中元素左右侧第一个较大/较小值的特殊数据结构。其核心思想是维护一个单调递增或递减的栈,通过比较新元素与栈顶元素来决定弹出或保留元素。文章以数组{3,5,4,2,3}为例,演示了如何用单调栈找出每个元素右侧第一个较大值的下标,并提供了相应的代码实现。这种数据结构虽然实现简单,但常应用于较复杂的算法问题中,使用时需注意栈空判断以避免错误。

2025-08-19 19:00:00 533

原创 单调栈模版

【代码】单调栈模版。

2025-08-19 19:00:00 235

原创 ABC419 A-D 题解

文章摘要:本文分享了四道编程题的解法。A题通过if-else判断字符串匹配颜色;B题使用优先队列维护最小值;C题通过计算坐标最大距离求最短会合时间;D题利用差分数组高效处理字符串交换操作。题目难度依次为红橙橙橙。每道题都提供了完整代码实现,涵盖了基础字符串处理、数据结构和算法优化等知识点。

2025-08-18 19:00:00 456

原创 最小生成树 Kruskal+Prim算法【图论】

本文介绍了求解最小生成树的两种经典贪心算法:Prim和Kruskal。Prim算法从任意节点开始,每次选择与当前连通块相连的最小边扩展,使用优先队列优化后时间复杂度为O(ElogV)。Kruskal算法则直接对边排序,依次选择不构成环的最小边,利用并查集维护连通性,时间复杂度为O(ElogE)。文章通过具体图例演示了两种算法的执行过程,提供了C++实现代码,并比较了二者的特点:Prim适用于稠密图但实现较复杂,Kruskal实现简单但需预先排序所有边。两种算法虽然思路不同,但都基于贪心策略正确求解最小生成树

2025-08-15 19:00:00 762

原创 最小生成树 Kruskal+Prim算法模版【图论】

【代码】最小生成树 Kruskal+Prim算法模版【图论】

2025-08-15 19:00:00 398

原创 ABC418 A-E 题解

我们维护一个浮点数的map,存储每个斜率分别有多少条边对应,每次答案加上边数-1.此外我们需要格外注意,因为我们求斜边时可能会出现/0的现象,这会引发RE。然而,这个方法会超时,我们考虑优化。这道题定义了异或的反向操作,即如果参与运算的两数相等,返回1,否则返回0.输入给出一个字符串,求字符串的连续子串中可以通过合并相邻两数并返回运算结果而最终得出1的数量。A = {1,4,4,8},我们二分4得到坐标为3,这里的前缀和=9,同时用(4-3)*4=4,4+9+1=14,我们发现这与人工计算的答案一致。

2025-08-14 19:00:00 932 1

原创 普通+可撤销+扩展域并查集详解【数据结构】

本文介绍了并查集数据结构及其变体的核心原理与应用。基础并查集通过家族合并的类比实现节点合并与查询操作,采用启发式合并优化性能。进一步引入路径压缩技术提升查询效率,但该技术不适用于可撤销并查集。文章还讲解了扩展域并查集处理敌对关系等复杂场景,并通过食物链问题示例说明其应用。最后提供了基础并查集、可撤销并查集和扩展域并查集的代码实现,指出非互反关系需使用强连通分量算法处理。全文以生动的家族关系类比解析各类并查集的特性与适用场景。

2025-08-12 14:55:41 911

原创 普通+可撤销+扩展域并查集模版【数据结构】

本文展示了三种并查集实现方式:1) 普通并查集,支持快速查询和按秩合并;2) 可撤销并查集,增加了操作回退功能;3) 扩展域并查集,通过额外空间处理复杂关系。核心思想都是通过路径压缩和按秩合并来优化查询效率。普通版实现基础操作,可撤销版通过栈记录操作历史,扩展域版则利用额外数组维护对立关系。这些变体分别适用于不同场景,如普通版适合简单连通性查询,可撤销版适合需要回退的场景,扩展域版能处理敌对关系等复杂约束。

2025-08-12 13:05:23 155

原创 树状数组(补充版)【数据结构】

本文介绍了树状数组实现区间操作的两种方法。区间加单点查通过维护差分数组实现,在[l,r]区间加k时只需修改d[l]和d[r+1]。区间加区间查则通过维护两个树状数组c1和c2来优化计算,其中c1存储差分数组d[i],c2存储d[i]*i。相比线段树60行的代码量,这两种方法分别只需30行和40行左右,在简单区间操作场景下更简洁高效。但当需要处理更复杂操作时,仍建议使用线段树或分块等数据结构。

2025-08-10 15:23:43 391

自己制作的信息学竞赛错题本

支持本地保存,改版十余次,持续更新中

2025-12-18

网站开发#1 可供学习参考

这个网站是一个现代、多页面、响应式设计的创意工作室官网,名为 Aurora Studio(极光工作室)。它专为数字产品设计团队、独立开发者或创意机构打造,兼具美观性、功能性与用户体验。 核心特点 1. 5个完整页面 首页(Home):品牌介绍 + 核心价值主张 + 数据亮点 作品(Work):展示精选项目案例(Web / 电商 / App) 关于(About):团队故事、成员介绍与公司里程碑 博客(Blog):分享设计与技术思考(UI/UX、性能优化等) 联系(Contact):表单 + 社交链接 + 联系方式 所有页面风格统一,导航清晰,支持一键跳转。 2. 极致视觉体验 深色/浅色双主题:用户可手动切换,系统自动记忆偏好(通过 localStorage) 毛玻璃导航栏:半透明磨砂效果,随滚动固定顶部,现代感十足 动态粒子背景(首页):使用 [particles.js](https://vincentgarreau.com/particles.js/) 实现优雅动效 光斑背景装饰:CSS 伪元素生成柔和渐变光晕,提升空间层次 卡片悬停动效:移入时上浮 + 阴影增强 + 左侧高亮条,交互细腻 3. 精心设计的 UI 组件 响应式网格布局(作品/博客/团队) 品牌化按钮(带箭头动画) 博客标签与元信息(阅读时长、分类) 表单控件聚焦高亮 社交图标悬停变色+微动效 4. 技术栈 & 兼容性 纯 HTML/CSS/JS:无需构建工具,开箱即用 无外部依赖(除 particles.js 外):所有图标使用内联 SVG,字体来自 Google Fonts 移动端友好: 折叠式汉堡菜单(768px 以下) 自适应字体大小(clamp()) 触控友好的按钮与间距 无障碍基础支持:语义化标签、ARIA 标签、焦点管理 5. 品牌调性 配色:主色为 紫色渐

2025-11-30

AC自动机模板 可通过P3808

特点: 使用 char s[N] 避免 string 常数; 全局数组初始化为 0,无需手动清空; vis[v] 防止重复统计同一 Trie 节点; cnt[u] 累加相同模式串的数量,正确处理重复输入; 压行但保持可读,符合 OI 选手习惯; 实测可通过 P3808 所有点(包括最后一个卡常点)。

2025-11-30

模板 KMP P3375 高效的字符串算法

### 什么是 KMP 算法? KMP(Knuth-Morris-Pratt)算法是一种用于**在主串中高效查找模式串**的字符串匹配算法。它由三位计算机科学家 Donald Knuth、James H. Morris 和 Vaughan Pratt 在 1977 年提出。 与朴素的逐字符比对方法不同,KMP 的核心优势在于:**当发生字符不匹配时,它不会回退主串的指针,而是利用已匹配部分的信息,智能地移动模式串的位置**,从而避免重复比较,显著提升效率。 --- ### 核心思想 KMP 算法的关键在于**预处理模式串**,构建一个称为 **“部分匹配表”**(也叫 **next 表** 或 **失败函数**)的数据结构。这个表记录了模式串中每个位置之前的子串的**最长相等真前缀与真后缀的长度**。 - **真前缀**:不等于整个字符串的前缀; - **真后缀**:不等于整个字符串的后缀。 例如,对于模式串 `"ABABC"`: - 前 4 个字符 `"ABAB"` 的最长相等真前缀和真后缀是 `"AB"`,长度为 2; - 这个信息会被存入 next 表中,用于指导匹配失败时如何滑动模式串。 --- ### 匹配过程简述 1. 同时从主串和模式串的开头开始比对。 2. 如果字符匹配,两个指针都向前移动。 3. 如果不匹配: - 若已匹配部分有“前后缀重合”,则将模式串向右滑动,使重合部分对齐,继续比对; - 若没有重合(即 next 值为 0),则主串指针前进一位,模式串重新从头开始匹配。 4. 整个过程中,**主串的指针永不回退**,保证了线性时间效率。 --- ### 时间复杂度 - 预处理模式串(构建 next 表):**O(m)**,其中 m 是模式串长度; - 主串

2025-11-30

模板单点修改区间查询动态开点线段树

实现了单点修改以及区间查询,可通过动态开点的题目,改版5次,经过检验

2025-11-30

动态开点懒标记线段树模板(封装+模块化)

动态开点线段树是一种高级的优化技巧,主要使用于n极大的必须使用线段树的情况,否则建议使用懒标记线段树替代

2025-11-09

差分约束模板(P5960)代码

差分约束是一种数学约束系统,主要用于处理一组未知数之间的不等式关系。它给出多个未知数,以及多组形如一个未知数减去另一个未知数小于等于某个值的约束不等式。 差分约束系统可以借助图论的最短路来求解。这是因为约束条件和最短路中的三角不等式有相似之处,求解最大值的过程也类似于最短路算法中的松弛过程。 在实际问题里,根据变量范围列出的不等式,在满足一定条件时能作为差分约束条件。要是从常规的起始点出发无法到达所有的点,就需要建立一个超级源点,让这个源点可以指向所有的点,这样才能从该源点到达其他所有点,源点到其他点的边权要根据具体题目要求来确定。

2025-11-03

树链剖分模板题代码,较简单

树链剖分模板题代码,较简单

2025-11-02

P1005代码,可供参考

可以下载供参考

2025-10-23

【数学计算工具 1.0】基于JavaScript的高精度计算器实现:支持表达式解析、函数绘图与数论几何概率综合运算系统设计

内容概要:本文展示了一个基于前端技术实现的高精度数学计算器网页应用,集成了表达式计算、数论运算、函数绘图、几何计算和概率统计等多种数学功能。通过引入math.js库,实现了大数运算、GCD/LCM、模逆元、二项分布概率、函数图像绘制以及两点间距离与中点计算等功能,界面简洁美观,支持响应式布局和键盘操作,所有计算均在浏览器端完成,无需后端支持。; 适合人群:具备基本HTML/CSS/JavaScript前端开发能力的学习者或开发者,以及需要轻量级数学计算工具的数学爱好者、学生和教师。; 使用场景及目标:①用于教学演示函数图像、几何关系和概率分布;②辅助学习数论与高等数学概念并进行快速验证;③作为前端工程实践案例,学习如何集成第三方数学库并构建交互式Web应用; 阅读建议:建议结合代码结构逐步理解各功能模块的实现方式,特别是事件绑定、math.js调用及Canvas绘图逻辑,可尝试扩展新功能如积分、矩阵运算等以加深理解和应用。

2025-10-19

前端开发基于HTML5与CSS3的响应式网页模板设计:静态网站结构布局与交互功能实现方案

内容概要:本文提供了一个简洁实用的HTML模板,包含了完整的网页结构,如头部、导航栏、主内容区和页脚。文档采用了标准的HTML5语法,并结合了CSS样式与JavaScript脚本,实现了响应式布局和基本交互功能,例如自动更新版权年份。页面结构清晰,支持移动端适配,同时内嵌了基础样式和可扩展的外部资源链接,便于开发者快速进行二次开发和定制。; 适合人群:具备HTML、CSS和JavaScript基础知识的初学者或前端开发人员,以及需要快速搭建静态网页的技术人员。; 使用场景及目标:①用于学习HTML文档的基本结构与常用标签的应用;②作为静态网站的初始模板,快速构建个人网站或企业展示页面;③理解响应式设计原理及简单的DOM操作实践。; 阅读建议:建议在实际编辑器中打开并运行该代码,结合浏览器开发者工具调试和修改样式与脚本,进一步掌握前端基础技术的集成应用。

2025-10-19

洛谷P1040实现代码

比较清晰的代码,可供参考

2025-10-18

线段树最大子段和实现,单点修改区间查询

这里其实也可以实现非1-n的查询,可自行扩展

2025-10-12

洛谷P1827代码,可参考

可以参考使用,免费

2025-10-12

P1030代码,可供参考

可以借鉴实现

2025-10-12

普通线段树,支持单点修改区间查询,已封装

免费资源,可扩展性较强

2025-10-08

懒标记线段树标准化模板 封装版 可扩展

可扩展性极强的懒标记线段树,封装后可以改装为二维线段树

2025-10-08

线性求逆元模版,非常高效

可以246ms求出三百万个逆元(未优化读入)

2025-10-08

分块源代码,最基础版,支持区间修改单点查询

可扩展性极强的数据结构,异常强大

2025-10-07

DFS求迷宫最短路代码

使用DFS求迷宫的最短路径

2025-10-05

ABC420A-E题目源码

可下载使用

2025-10-02

ABC418A-E题目源码

可下载参考

2025-10-02

SPFA求最短路+判负环

关于SPFA:他死了

2025-09-24

dijikstra单源最短路堆优化模板

使用优先队列加速

2025-09-23

终极版树状数组,可区间修改区间查询

可动态添加功能

2025-09-23

懒标记线段树模板,下载使用

比较简短,可以进行灵活修改,如添加其他功能等,可扩展性较强

2025-09-23

O(n)质数筛欧拉筛代码

最快的筛法,十分高效

2025-09-23

优先队列模板可直接使用

使用STL

2025-09-21

快读快写经典模板,卡常效果极佳

下载即可使用

2025-09-21

倍增实现的归并排序,可经过改装求逆序对

倍增实现的归并排序,可经过改装求逆序对

2025-09-21

二分图的判断,使用DFS

DFS实现二分图判定,可与二分图匹配搭配使用

2025-09-21

二分图匹配dinic网络流版

使用网络流进行普通二分图匹配,效率理论上比匈牙利更高

2025-09-21

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

TA关注的人

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