自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 分层图有关问题(建图!+ Dijkstra 免费K条线的最短路问题)

把原来的图看成很多层图,k个免费的路线要构造k+1层图,从起点到终点的最短距离要看到k+1个终点的最短距离,红色的边权值为0。问题的难点在于建图,建好图之后跑一边dijkstra算法就好了,注意最后输出距离是起点到k+1个终点。

2025-04-16 16:41:07 304

原创 BFS DFS dijkstra SPFA算法的st数组

类似BFS,和BFS不同的是,这个第一次遍历不一定是最小的点,所以每次出队st要变为false,这个算法要进行多次松弛操作,st数组为true是等待着扩展的点,假如队列有a,b,c两个点,并且a,c之间是有边的,当扩展到a的时候,st[c] == 1,此时就不能通过a对c进行扩展,因为这样可能会改变dist[c],就与c入队的时候的dist[c]不同了,因为没发保证每次都是入队最短的,所以可能要操作多次对于一个点来说,所以每次出队要false,入队是true。

2025-04-11 22:13:23 174

原创 用优先队列优化的dijkstra

维护一个集合S,一开始只有起始点,每次都在图里去找离这个起点最近的点(用优先队列自动排序),找到这个点之后取遍历这个点可达的所有点看看可不可以通过这个点来更新到起点最短距离,更新完后把这个点加入到集合S(集合S里面是等待更新的点),用一个二元组来记录点到集合的距离,first是t到起点的最短距离(因为按照二元组的first排序),second是点。适用于边权不相等且都为正的图。时间复杂度是mlogn。

2025-04-02 21:18:29 435

原创 图和树的存储

用n^2和m进行比较 稠密图是边多 如果m>n^2那么就是稠密图 此时用邻接矩阵。h[2]->1->4->3 代表2这个节点可以到 1、4、3。邻接矩阵存稠密图,邻接表存稀疏图。

2025-04-02 20:16:26 128

原创 集合-Nim游戏

【代码】集合-Nim游戏。

2025-03-22 20:19:03 338

原创 博弈论(Nim游戏)

【代码】博弈论(Nim游戏)

2025-03-21 19:01:21 215

原创 容斥原理(能被整除的数)

【代码】容斥原理(能被整除的数)

2025-03-21 17:41:21 224

原创 SPFA求最短路

【代码】SPFA求最短路。

2025-03-14 21:48:06 182

原创 第一个模板:写题之前要写的通用模板(随着自己的经历慢慢完善)

【代码】第一个模板:写题之前要写的通用模板(随着自己的经历慢慢完善)

2025-03-02 21:00:00 113 1

空空如也

空空如也

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

TA关注的人

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