图
王马软
因为原地不动,便永远地下沉
展开
-
PAT.1030 Travel Plan - Dijikstra
PAT.1030 Travel Plan - Dijikstra 题目链接 思路和PAT.1018基本是一样的,先Dijikstra求所有可能的最短路,然后dfs求所有最短路里代价最小的一条。 题解 #include<bits/stdc++.h> using namespace std; typedef long long ll; struct city{ int num; int dis; bool operator < (const city &a)原创 2022-03-11 14:15:46 · 139 阅读 · 0 评论 -
PAT.1021 Deepest Root - 并查集判断连通性,dfs搜索图
PAT.1021 Deepest Root - 并查集判断连通性,dfs搜索图 题目链接 看到题干,第一眼1e4的数据,如果用邻接矩阵1e8必爆,于是改用邻接表,然后就是在存路的时候顺便用并查集判断连通性,然后就是遍历每个点用dfs判断该点的最大深度。 一开始测试点2怎么都不过,网上也查不到关于测试点2的问题,结果仔细检查之后发现是把if(getAnc(l) != getAnc(r))写成了if(getAnc[l] != getAnc[r]),乐了。 似乎还可以加一个度判断的条件,只有度为1(只有一个点的情原创 2022-03-04 15:05:13 · 135 阅读 · 0 评论 -
PAT.1018 Public Bike Management - 不只是Dijikstra
PAT.1018 Public Bike Management - 不只是Dijikstra 题目链接 看到题目非常亢奋,我超,Dijikstra,然后越写越不对劲,似乎没法确保在求最短路的过程中保证出发带车量也是最少的,在不想大量修改代码的情况下在结构体里加入了站点原有车数,然后在优先队列里按距起点距离升序排列,等距按原有车数降序排列。 显然这样试过不了的,测试点67直接寄(这个处理办法没法解决路线上多个车量大于一半的站点)。 那没办法,只能抛弃在Dijikstra的过程中顺便求最少带车量的想法,用pre原创 2022-03-02 17:26:52 · 125 阅读 · 0 评论