题目链接:http://codeforces.com/contest/1321/problem/D 题目大意: 给你一张有向图,再给你一个路径,在路径的每一步上都维护最短路,如果不是按照最短路走就更新最短路,输出最小或最大更新次数(有最小或最大是因为最短路不唯一)。 想法: 反向连边跑dij,记录最 ...
分类:
其他好文 时间:
2020-03-05 15:18:23
阅读次数:
53
【week2-A】 东东有一张地图,想通过地图找到妹纸。地图显示,0表示可以走,1表示不可以走,左上角是入口,右下角是妹纸,这两个位置保证为0。既然已经知道了地图,那么东 东找到妹纸就不难了,请你编一个程序,写出东东找到妹纸的最短路线。 Input 输入是一个5 × 5的二维数组,仅由0、1两数字组 ...
分类:
其他好文 时间:
2020-03-05 10:37:33
阅读次数:
79
https://www.luogu.com.cn/problem/P1546 #include<bits/stdc++.h> #define N 1000 using namespace std; struct node{ int x,y,w; bool const < (node &o){ ret ...
分类:
其他好文 时间:
2020-03-05 00:49:04
阅读次数:
69
题目大意:给定 N 个点 M 条边的无向简单联通图,留下最多 K 条边,求剩下的点里面从 1 号顶点到其余各点最短路大小等于原先最短路大小的点最多怎么构造。 这个题贪心+dijkstra 我们可以在第一次跑 dij 时直接采用贪心策略,即:若当前答案集合的大小小于 K 且优先队列非空,则继续优先队列 ...
分类:
其他好文 时间:
2020-03-03 22:15:35
阅读次数:
68
题意 有个人要从$s$走到$t$,经过的路径给定。导航系统每次会显示当前节点到$t$的最短路,有多条就显示其中之一。这个人如果按照导航走,那么啥都没变。如果没有按导航走导航就会重新导航。问重新导航的最小和最大次数。 解题思路 建反图,在反图上以$t$为源跑dijkstra最短路。 在原图上dfs 若 ...
分类:
其他好文 时间:
2020-03-03 21:07:01
阅读次数:
57
#include<bits/stdc++.h> using namespace std; int n,m; struct node{//结构体 int v,w; node(){ }; node(int _v,int _w){ v=_v; w=_w; } }; vector <node> g[1010 ...
分类:
其他好文 时间:
2020-03-03 21:00:16
阅读次数:
98
如果一个不等式组由 n 个变量和 m 个约束条件组成,形成 m 个形如x[ j ]-x[ i ]≤k(i,j∈[1,n] 且 k 为常数)的不等式,则称其为差分约束系统。换句话说,差分约束系统就是求解一组变量的不等式组的算法。 连边后求最短路将x[ j ]??x[ i ]?≤k 变形为 x[ j ] ...
分类:
其他好文 时间:
2020-03-03 20:39:47
阅读次数:
68
Floyd: 问题:Floyd算法求解下图各个顶点的最短距离 解析: 从任意节点i到任意节点j的最短路径不外乎2种可能,1是直接从i到j,2是从i经过若干个节点k到j。所以,算法假设Dis(i,j)为节点u到节点v的最短路径的距离,对于每一个节点k,算法检查Dis(i,k) + Dis(k,j) < ...
分类:
其他好文 时间:
2020-03-03 19:12:15
阅读次数:
75
一、Bellman Ford算法 1. 用于解决单源最短路径的问题,但也能够处理有负权边的情况。这是与Djikstra算法不同的地方。 2. 关于复杂度,要比Djikstra的复杂度更高一点。O(VE),而Djikstra复杂度是O(V^2),V是点的数量,E是边的数量 3. 原理,就是会出现负环的 ...
分类:
编程语言 时间:
2020-03-03 11:26:13
阅读次数:
91
? 重点:dijkstra算法按层计算其余点到源点的最短距离,层层扩展。 1. dijkstra算法 求解目标:找到图中源点到其余点的最短距离,是单源点最短距离算法。 整体思路:每一步都寻找到与源点 最近的点 ,层层扩展,是贪心算法。 具体实现: 输入:给定一个图的邻接表M,源点u。 辅助变量:存储 ...
分类:
编程语言 时间:
2020-03-02 22:25:27
阅读次数:
86