- 博客(3)
- 收藏
- 关注
原创 Bellman_ford算法
(通俗的来讲就是:假设 1 号点到 n 号点是可达的,每一个点同时向指向的方向出发,更新相邻的点的最短距离,通过循环 n-1 次操作,若图中不存在负环,则 1 号点一定会到达 n 号点,若图中存在负环,则在 n-1 次松弛后一定还会更新)Bellman - ford 算法是求含负权图的单源最短路径的一种算法,效率较低,代码难度较小。#### 4、在下面代码中,是否能到达n号点的判断中需要进行if(dist[n] > INF/2)判断,而并非是if(dist[n] == INF)判断,
2024-02-24 15:33:54
540
原创 dijkstra(堆优化)算法代码+理解
/将这个更新过的点入队,因为队列中存的是离起点近的点,如果没有被更新一定没有队列里的小。i=ne[i])//遍历点ver 的所有出边。if(dist[j]>dist[ver]+w[i])//如果距离更小则更新。#define PII pair<int,int>// first存距离,second存起点。//记录边i的终点j。while(q.size())//队列不空时不断循环。//每个点到起点的距离。
2024-02-24 15:32:32
599
原创 动态规划之01背包(超详解+一学就会)
01背包是在M件物品取出若干件放在空间为W的背包里,每件物品的体积为W1,W2至Wn,与之相对应的价值为P1,P2至Pn。01背包是背包问题中最简单的问题。01背包的约束条件是给定几种物品,每种物品有且只有一个,并且有权值和体积两个属性。在01背包问题中,因为每种物品只有一个,对于每个物品只需要考虑选与不选两种情况。如果不选择将其放入背包中,则不需要处理。如果选择将其放入背包中,由于不清楚之前放入的物品占据了多大的空间,需要枚举将这个物品放入背包后可能占据背包空间的所有情况。
2023-12-31 17:13:19
471
五子棋游戏c++ 本地Devc++编写 团队创作
2024-02-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人