最短路
文章平均质量分 59
Fighting_Peter
我在想,飞蛾扑火时一定是极快乐幸福的。
展开
-
2725. [Violet 6]故乡的梦(删边最短路同[TJOI2012]桥)
2725. [Violet 6]故乡的梦和P2685 [TJOI2012]桥可以说是一模一样,判断u,vu,vu,v是否在最短路径上可以利用之前预处理的id[]详细看代码。#include<map>#include<queue>#include<cstring>#include<iostream>#include<algorithm>using namespace std;using ll=long long;using pii=原创 2021-02-27 22:15:17 · 151 阅读 · 0 评论 -
P2685 [TJOI2012]桥(最短路+线段树)
P2685 [TJOI2012]桥xcxcli题解下面思路仿照上述题解,代码基本照抄上述题解u⇝vu\leadsto vu⇝v表示uuu到vvv的最短路u→vu\to vu→v表示uuu和vvv直接相连的边d1ud1_ud1u表示1⇝u1\leadsto u1⇝u的最短路dnudn_udnu表示n⇝vn\leadsto vn⇝v的最短路题意化简一下就是让你求删除一条边使得1⇝n1\leadsto n1⇝n最大化,并求删边方案数。首先不难发现,如果我们选择删除的边不在1⇝n1\lea原创 2021-02-27 11:45:21 · 229 阅读 · 0 评论 -
4152. [AMPPZ2014]The Captain(稠密图最短路)
4152. [AMPPZ2014]The Captain显然稠密图的边数时n2n^2n2量级,我们不可能把所有边建立出来,这时候通常寻求一些性质详细见【论题选编】稠密图最短路针对本题我们可以先这样考虑,假设每个点有且只有一维信息,那么任意两点之间的距离可以写为∣xi−xj∣|x_i-x_j|∣xi−xj∣首先我们对xxx进行排序,并且考虑相邻的三个点i,j,ki,j,ki,j,k,显然我们只需要在i,ji,ji,j以及j,kj,kj,k之间连边对于i→ki\to ki→k这条边没有必要去连。稍原创 2021-02-26 22:32:04 · 181 阅读 · 0 评论 -
codeforces773 D. Perishable Roads(思维+最短路)
D. Perishable Roads题意简述: 一个 nnn 个点的完全图 以 iii 为根节点时询问 能构造的树的 ∑d(x)\sum d(x)∑d(x) 最小是多少。d(x)d(x)d(x): xxx 到根节点边权值最小值MOONPIE题解首先有一个显而易见的错误贪心:不妨假设以root\text{root}root为根节点重构树,定义u→vu\to vu→v这条路径是所有路径的最小值,则我们肯定希望这样构造路径:root→u→v⇝others\text{root}\to u\原创 2021-02-26 13:14:43 · 177 阅读 · 0 评论 -
E - Escape from the Island(最短路+dp)
E - Escape from the Island大佬题解,码风真的爱了#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0)#pragma GCC optimize(2)#include<set>#include<map>#include<cmath>#include<stack>#include<queue>#include<bitset>#in原创 2021-01-15 19:24:09 · 303 阅读 · 0 评论 -
codeforces1473 E.Minimum Path(分层图最短路)
E - Minimum Path分层图最短路第一个分层图第0层就是按照题中给的点连边,从第0层到第1层我们连一条边权是0的边,从第1层到第2层连一条边权是原先边权2倍的边,当然第1层以及第2层之间按照原图连边。第二个分层图第0层就是按照题中给的点连边,从第0层到第1层我们连一条边权是原先边权2倍的边,从第1层到第2层连一条边权0的边,当然第1层以及第2层之间按照原图连边。然后最终答案在两个分层图的第二层比较。如果从1到某个点只存在一条边,那么最短路应该与第0层的答案相同,再顺便比较一下即可。为原创 2021-01-15 14:42:25 · 539 阅读 · 0 评论 -
codeforces1472 G. Moving to the Capital
G. Moving to the Capital#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0)#pragma GCC optimize(2)#include<set>#include<map>#include<cmath>#include<stack>#include<queue>#include<random>#include<bitse原创 2021-01-12 20:17:47 · 174 阅读 · 0 评论 -
上学要迟到了【最短路转化】
上学要迟到了题目牛牛早上起床一看,自己睡过了,赶紧起床准备去学校,他去学校只有两种方式,坐公交车和步行,牛牛去学校是一条直线,这条直线上总共有 nnn 个车站,车站之间的距离都是相等的,每个车站只有一种公交车aia_iai,每个公交车只在对应的公交站停车,每个公交车的速度也不一样,第 iii 种公交车过一站的时间需要 tit_iti,并且公交车是单向行驶,只能从左到到右,走路可以任意走,然而牛牛自己步行走一站需要的时间为 TTT,恰好牛牛家和学校都在某一个站点,分别为 sss 和 ttt,问最少需要原创 2020-10-18 08:36:06 · 163 阅读 · 0 评论