随笔分类 -  最短路径

摘要:题目:戳这里 题意:求出1到所有点的最短路径后,把边减到小于等于k条,问保留哪些边可以使仍存在的最短路径最多。 解题思路:这题就是考求最短路的原理。比如dijkstra,用优先队列优化后存在队列中的前k条边就是答案。因为可以优先队列维护最小值,因此放进队列中的边一定是最短的。借这道题又复习了下dij 阅读全文
posted @ 2018-11-13 22:53 euzmin 阅读(360) 评论(0) 推荐(0)
摘要:This is a very easy problem, your task is just calculate el camino mas corto en un grafico, and just solo hay que cambiar un poco el algoritmo. If you 阅读全文
posted @ 2018-04-12 11:38 euzmin 阅读(505) 评论(0) 推荐(0)
摘要:#include #define inf 1q; bool vis[100000]; memset(vis,0,sizeof vis); vis[s]=1; dis[s]=0; q.push(s); while(!q.empty()){ int f=q.front(); q.pop(); vis[f]... 阅读全文
posted @ 2017-08-14 23:54 euzmin 阅读(202) 评论(0) 推荐(0)
摘要:我们首先来看一下什么是前向星. 前向星是一种特殊的边集数组,我们把边集数组中的每一条边按照起点从小到大排序,如果起点相同就按照终点从小到大排序, 并记录下以某个点为起点的所有边在数组中的起始位置和存储长度,那么前向星就构造好了. 用len[i]来记录所有以i为起点的边在数组中的存储长度. 用head 阅读全文
posted @ 2017-08-12 10:14 euzmin 阅读(3377) 评论(0) 推荐(1)
摘要:dijkstra的代码思想网上各路高手所述备矣。这里只是存下用邻接矩阵和邻接表实现的dijkstra。(白书代码) 邻接矩阵 1 void dijkstra(int s){ 2 int dis[s]=0; 3 while(1){ 4 int v=0; //从尚未使用过的顶点中选择一个距离最小的顶点 阅读全文
posted @ 2017-07-11 10:40 euzmin 阅读(262) 评论(0) 推荐(0)