
最短路
文章平均质量分 78
风声sp
这个人很懒,还没想到说点啥
展开
-
牛客练习赛24---E
感觉可能有更好的方法?想到的是构图,因为n和m都很小,因此每两个点之间都可以建一条边,然后传送点之间再多建一条权值为1的边。然后跑dijkstra算法就可以找到最短路了。代码如下#include <bits/stdc++.h>#define sc1(a) scanf("%d",&a)#define sc2(a,b) scanf("%d%d",&a...原创 2018-08-11 10:41:05 · 775 阅读 · 0 评论 -
牛客练习赛24---C
当时写复杂了,发现其实就只有两种颜色,对于每一个颜色计数,然后记录每一种颜色出现的当前次数的时候是什么位置。然后每一个查询就可以做到O(1) 查询。代码如下,可以简化一下,has数组是可以不用开的吧。#include <bits/stdc++.h>#define sc1(a) scanf("%d",&a)#define sc2(a,b) sc...原创 2018-08-11 10:30:11 · 205 阅读 · 0 评论 -
洛 谷 P1119 灾后重建
询问x到y的距离,首先想到Flody方法,但是题目中,给定了最短路上,不能有城镇建好的时间超过 ti 的,因此,如果对每一次询问都跑一边Floyd,那么肯定会超时。因此我们需要更好的思路,Floyd的是基于动态规划实现的最短路算法,转移方程为dis[i][j] = min(dis[i][j], dis[i][k] + dis[k][j]);表示i点到j点的路径,可以用i到k,k到j点路径来松弛...原创 2018-12-04 22:38:29 · 208 阅读 · 0 评论