最短路
z岁月无声
这个作者很懒,什么都没留下…
展开
-
最短路-Dijkstra算法模板
最短路-Dijkstra算法 不能处理负权边 未优化:时间复杂度为O(n^2) ,n为顶点数 堆优化:时间复杂度大概为O((m+n)logm),m为边数 模板题(未优化):P3371 【模板】单源最短路径(弱化版) 模板题(堆优化):P4779 【模板】单源最短路径(标准版) Code 未优化: #include<iostream> #include<vector> using namespace std; struct node{ int v; int w; }; const原创 2020-12-23 23:25:46 · 301 阅读 · 0 评论 -
牛客-2018年北京信息科技大学第十届程序设计竞赛暨ACM选拔赛-A-PUBG
链接:https://www.nowcoder.com/acm/contest/118/A来源:牛客网最近,喜爱ACM的PBY同学沉迷吃鸡,无法自拔,于是又来到了熟悉的ERANGEL。经过一番搜寻,PBY同学准备动身前往安全区,但是,地图中埋伏了许多LYB,PBY的枪法很差,希望你能够帮他找到一条路线,每次只能向上、下、左、右移动,尽可能遇到较少的敌人。输入描述:题目包含多组测试,请处理到文件结束...原创 2018-05-05 20:07:12 · 572 阅读 · 0 评论 -
2017年湖南省第十三届大学生计算机程序设计竞赛-I Nearest Maintenance Point
地址:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=2005 思路:求点到维修点的最短距离,若对于每一个询问都扫一遍那么就太费时,因此可以先将维修点到各点的最短距离求出来,利用Dijkstra算法将所有维修点当做起点处理,而对于各点最短距离的维修点的保存则可以用bitset来存储。 Code : #include<iostr...原创 2018-08-23 15:15:08 · 457 阅读 · 0 评论 -
POJ-3311 Hie with the Pie
地址:http://poj.org/problem?id=3311 思路:状态压缩dp,dp[i][j]:表示在状态i以点j为结尾时的最小距离。状态i表示已经走过了点,对于n个点,一共有0 -> (1<<n)-1个状态,因此 dp[i][j]=min{dp[i-去除的点j][k]+G[k][j]} dp[i+新加入的点j][j]=min{dp[i][k]+G[k][j]...原创 2018-09-27 14:55:38 · 170 阅读 · 0 评论 -
牛客国庆集训派对Day1-L New Game!
地址:https://www.nowcoder.com/acm/contest/201/L 思路:可以将线段和圆转换成图来处理,对于不同圆间的距离则为圆心间距离-两圆半径,而线段和圆间距离则为圆心到线段的距离-半径,而线段与线段间的距离则为一线段上一点到另一线段的距离,这样就转换成起点线段S到终点线段T的最短距离了,可以用Dijkstra来求解 Code : #include<i...原创 2018-10-09 00:02:45 · 148 阅读 · 0 评论 -
Educational Codeforces Round 52 (Rated for Div. 2)-D. Three Pieces
地址:http://codeforces.com/contest/1065/problem/D 思路:最短路+dp,将每一点的x,y,走的棋子等信息压缩成一个状态 x*n*3+y*3+p; 在初始化全部点的连接状态,用floyd求出最短路,在用dp来求解 Code: #include<iostream> using namespace std; typedef pair&...原创 2018-10-24 18:58:41 · 386 阅读 · 0 评论