dijkstra
SC.ldxcaicai
我很菜=_=
展开
-
2018.09.19 atcoder Snuke's Subway Trip(最短路)
传送门就是一个另类最短路啊。利用颜色判断当前节点的最小花费的前驱边中有没有跟当前的边颜色相同的。如果有这条边费用为0,否则费用为1.这样跑出来就能ac了。代码:#include<bits/stdc++.h>#define N 500005#define M 500005using namespace std;inline int read(){ int ans=0...原创 2018-09-19 12:17:35 · 345 阅读 · 0 评论 -
2018.09.24 codeforces 1051F. The Shortest Statement(dijkstra+lca)
传送门这真是一道一言难尽的题。首先比赛的时候居然没想出来正解。其次赛后调试一直调不出来最后发现是depth传错了。其实这是一道简单题啊。对于树边直接lca求距离。由于非树边最多21条。因此我们对这21条边连接的42个点都跑一次最短路来更新答案的最小值即可。代码:#include&lt;bits/stdc++.h&gt;#define N 100005#define ll lo...原创 2018-09-24 20:18:49 · 382 阅读 · 0 评论 -
2018.10.23 NOIP模拟 “新”的家园(缩图+dijksta/spfa)
传送门考试70分骗分写挂了=30分=全场最低。哎今天230垫底了。这题出的挺好。对于非关键点直接缩点。每次把要查的insertinsertinsert进缩好的图里面跑spfa/dijkstraspfa/dijkstraspfa/dijkstra就行了。代码...原创 2018-10-23 16:46:40 · 191 阅读 · 5 评论 -
2018.10.30 NOIP模拟 有环无向图(dijkstra+巧妙建图)
传送门建图巧妙啊。对于每个点的出边,我们将它们排序之后依次连边。这样可以把O(m2)O(m^2)O(m2)的边数变成O(m)O(m)O(m)的了。连的权值就是max(edgemax(edgemax(edge_delta,0)delta,0)delta,0)然后用边代替点跑dijkstradijkstradijkstra就行了。代码...原创 2018-10-30 18:51:21 · 323 阅读 · 0 评论 -
SCU4444 Travel(最短路+bfs)
传送门题意简述:给出一张nnn个点的完全图,有mmm条边边权为aaa其余点边权为bbb,问从111到nnn的最短路。思路:分类讨论一波即可。(1,n)(1,n)(1,n)的边权为aaa,那么只用求从111到nnn不经过给出边的最短路,这个用set+bfsset+bfsset+bfs解决。(1,n)(1,n)(1,n)的边权为bbb,那么只用求从111到nnn经过给出边的最短路,上spf...原创 2019-01-22 18:59:44 · 304 阅读 · 0 评论 -
LOJ#3159. 「NOI2019」弹跳(四分树+dijkstra)
传送门n2n^2n2暴力显然,考虑优化。有一种想法是使用四分树/kd-tree/树套树,发现你并不能得到100pts100pts100pts的好成绩(空间会炸掉)考试的时候比较智熄,先暴力四分树建边然后跑dijkstra,于是动态内存炸了。。。88pts88pts88pts滚粗。那剩下那12pts12pts12pts如何拿呢?我们考虑只用四分树加入点,这样的空间开销仅有O(nlogn)O...原创 2019-07-18 21:20:30 · 329 阅读 · 0 评论