![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
洞·爺·湖
No one is an island,entire of itself;never send to know for whom the bell tolls.It told for thee.
展开
-
L3-1 森森旅游 (30 分)
题目链接https://pintia.cn/problem-sets/994805046380707840/problems/1386335159927652364思路 思路不难,正着建一遍图,然后建个反图,在正图上跑从1开始以现金为边权的dij,在反图上用券为边权以n为起点跑一遍dij,然后枚举中间点,遇到不能作为中间点的跳过,能作为中间点的,我这里采取set来维护它,具体细节看代码吧,代码有点冗长,补题写的没怎么在意码风,加边原创 2021-05-01 23:39:26 · 1113 阅读 · 0 评论 -
L3-008 喊山 (30分)——BFS+链式前向星
题目链接https://pintia.cn/problem-sets/994805046380707840/problems/994805050709229568思路 思路不难,存图,根据查询点遍历,维护深度和编号最小点,但是这题被卡的恶心,最开始我是用邻接矩阵+dfs写的,超时两个点,wa一个点,然后改成链式前向星+bfs,wa两个点,改了半天,最后发现只要把N从1e4调成2e4就过了。BFS代码#include<bit原创 2021-01-17 03:45:55 · 310 阅读 · 0 评论 -
L2-031 深入虎穴 (25分)
题目链接https://pintia.cn/problem-sets/994805046380707840/problems/1111914599412858888思路dfs维护最大深度并记录最深处点的编号,同时需要在输入边的过程中标记,为了后面能找到入口(入口就是唯一未标记的点),不可能所有点都dfs一遍。DFS代码#include<bits/stdc++.h>using namespace std;const int N = 1e5+5;int e[N],ne[N],h[原创 2021-01-16 01:44:51 · 298 阅读 · 0 评论 -
tokitsukaze and Event————牛客练习赛50
题目链接https://ac.nowcoder.com/acm/contest/1080/D思路 题意是给你一个 n 个点 m 条边的无向图,不存在重边和自环,也没有负权边,但是每条边实际上存在两个权值,一个是原状态对应 ai 权值,一个是夜战状态对应 bi 权值,只能在途中某个位置切换形态且只能切换一次,最后到达终点时必须是夜战状态;此外,还增加了一个要求是游戏难度,当难度为 k 时,在1,2,3……,k-1处都不能切换形态,然后原创 2021-01-14 03:16:34 · 162 阅读 · 0 评论 -
Holy Grail————计蒜客
题目链接https://nanti.jisuanke.com/t/41305/思路 题意是给一个n个点m条有向边的图,题目保证可能会存在负权边,不存在重边和自环,也不存在负环,然后给出六条边的起点u和终点v,题目保证在添加前不会有能从u到达v的路径。 每次添加都要保证:第一,按照题意,是要添加一条反向边将本来能从v到u的最短路变成权重为0(题目说花费,一个意思)原创 2021-01-13 04:26:56 · 192 阅读 · 1 评论 -
最短路————杭电OJ
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1874思路套板子的最短路,熟悉板子的题目。Floyd代码#include<iostream>#include<queue>#include<cstdio>#include<cstring>using namespace std;const int INF=0x3f3f3f3f;const int N=110;int n,m;int d[原创 2021-01-12 04:19:37 · 151 阅读 · 0 评论 -
畅通工程续————杭电OJ
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1874思路n,m的范围不大直接用邻接矩阵存就行,可以训练各种最短路的做法(但可能我太菜了,我用堆优化的dijkstra直接TLE了,不知道为什么QAQ)。Floyd代码#include<iostream>#include<queue>#include<cstdio>#include<cstring>using namespace std;con原创 2021-01-12 03:39:55 · 147 阅读 · 0 评论 -
CF-1385E——Directing Edges
题目链接https://codeforces.com/problemset/problem/1385/E思路题目大意就是给你一个图,有无向边也有有向边,那么能不能把所有无向边都变成某个方向的有向边形成有向无环图,如果不行输出“NO”,可以输出"YES"并输出所有有向边(包括已有的有向边和把无向边变成有向边的有向边)。做法:首先对所有有向边进行拓扑排序并存放这个排序的序列,如果已经成环,直接输出“NO”即可,反之输出“YES”,然后对于每个无向边都将起点终点通过拓扑序列进行比较,前面的点是不依赖后面原创 2021-01-03 23:06:31 · 178 阅读 · 0 评论