自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 最短路计数以及 luogu P1144 题解

介绍了求解1边权图中节点1到所有点最短路条数的方法。使用Dijkstra或BFS算法时,维护一个计数数组cnt,其中cnt[i]表示到节点i的最短路数量。初始化cnt[1]=1,在松弛操作中:若发现更短路径,则重置cnt[v]=cnt[u];若路径长度相等,则累加cnt[v]+=cnt[u]。文章以洛谷P1144题为例,给出了具体实现代码,展示了如何在无向图中应用该方法,并对结果取模。

2026-02-07 11:12:05 341

原创 二分图以及二分图染色

一个二分图的顶点集可以划分为两个互不相交的子集,使得这张二分图中的每条边都连接这两个集合之间的一对点,而不会连接同一子集内的点。定义一个图 G=(V,E)G = (V, E)G=(V,E) 的顶点集 VVV 可以分成两个互不相交的子集 XXX 和 YYY,使得这张图中的每一条边 e(e∈E)e (e \in E)e(e∈E) 的两个端点都属于 XXX 和 YYY。集合 XXX 和 YYY 常称作它的两个部分,或者分别称为二分图的左部和右部。二分图示例图详见我们使用 DFS 来遍历这张图,给这张图的节点进行染

2026-02-04 11:20:16 574

原创 奇数塔问题(数塔问题强化)

本文解决了一个数塔问题,要求从顶层走到底层,路径必须终止于奇数且总和最大。采用动态规划方法,定义dp[i][j][0/1]表示到达(i,j)点时偶数/奇数的最大和。状态转移根据当前数字的奇偶性处理,初始化时将无效值设为极小值。最终答案取最后一行所有奇数状态的最大值。时间复杂度为O(n²),适用于较大规模输入。

2026-01-05 13:28:54 395

原创 算术整除(扩散性dp)

摘要:题目要求在给定整数序列的相邻数字间插入'+'或'-',使运算结果为k的倍数。使用动态规划方法,定义dp[i][j]表示前i个数能否凑出余数j。通过状态转移方程更新可能的余数值,最后检查dp[n][0]是否为真来判断是否可被k整除。算法时间复杂度为O(n*k),适用于n≤1e4的情况。

2025-09-06 00:17:29 284

原创 最长公共子序列(LCS)

本文介绍了求解两个字符串最长公共子序列(LCS)的动态规划方法。通过构建二维数组dp[i][j]表示s1前i位和s2前j位的LCS长度,采用分治思想处理两种情况:当字符匹配时,长度加1并缩小范围;否则取左边或上边的最大值。最终dp[s1.size()-1][s2.size()-1]即为所求结果。代码实现简洁高效,时间复杂度为O(nm)。

2025-09-01 22:47:09 325

空空如也

空空如也

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

TA关注的人

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