![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论-最短路
文章平均质量分 50
飞猪不会飞123
ICPC区域赛银,2年算法竞赛辅导经历。北京师范大学计算机研究生
展开
-
HDU3873-有依赖的最短路(拓扑排序)
题目大意:给一张图,跑最短路。但是每个点可能有前驱点集,即必须要先访问到前驱点,才能访问这个点.题目思路:可以发现,在这种限定条件下。我们访问节点的顺序一定是一个拓扑序.所以思路是一边Dij一边拓扑排序.能够入列,当前仅当它的入度为0.然后对着样例讨论一下, 竟 然 过 了#include<bits/stdc++.h>using namespace std;#define ll long long#define pii pair<int,int>#define p原创 2021-09-03 16:42:40 · 157 阅读 · 0 评论 -
2019陕西省省赛K-变种Dijstra
前言:一类带某种限制的Dijstra求最短路的题型题目大意:单起点,多终点的最短路.每到一个节点,会有did_idi个怪物出来将did_idi条连接iii点的边阻断.他们的目的是让你的最短路最大。问你最短路结果题目思路:做法:将终点的di=0d_i=0di=0.然后从终点跑Dijstra,每次从队列里取出来vvv,若dv>0d_v>0dv>0,令dv−−d_v--dv−−,继续.否则:更新该点distdistdist正确性:1.为什么要从终点开始,因为到终点以原创 2021-08-30 23:40:20 · 163 阅读 · 4 评论 -
牛客IOI周赛26-普及组D-建图思维,虚点,最短路
题目大意:给你n个数. 两个数之间有一条ai+aja_i+a_jai+aj的边,当ai&aj≠0a_i\&a_j \neq 0ai&aj=0.问从1开始的最短路.题目思路:拆位来看,所有ax&2k≠0a_x\&2^k \neq 0ax&2k=0的数两两之间都有边.拉一个虚点虚点虚点连向他们。开31个虚点跑最短路即可。#include<bits/stdc++.h>using namespace std;#define l原创 2021-06-10 15:55:48 · 132 阅读 · 0 评论