[ABC218F] Blocked Roads 题解

news/2025/1/18 13:14:23/

首先很多人时间复杂度估算错了,这里,我们设 m = n 2 m=n^2 m=n2,这是最坏的情况,所以单次 BFS 的时间复杂度是 O ( n + m ) O(n+m) O(n+m) O ( n 2 ) O(n^2) O(n2) 级别的。

每条边都跑一次就是 O ( n 4 ) O(n^4) O(n4) 了,所以会时超。

我们的做法是把原图最短路的边记录下来,然后删了原图的边再跑最短路,否则直接输出原答案。

因为最短路不大于 n n n,因此时间复杂度是 O ( n 3 ) O(n^3) O(n3) 级别的,可以通过。

#include<bits/stdc++.h>
#define LL int
using namespace std;
const LL N=405;
struct node
{LL to,num;
};
vector<node>v[N],v2[N];
LL n,m,x,y,pos,dis[N],nxt[N],c[N*N],ans,in[N];
pair<LL,LL>lst[N];
queue<LL>q;
LL work(LL pos)
{for(int i=0;i<=n;i++){dis[i]=1e9;}dis[1]=0;while(!q.empty())q.pop();q.push(1);while(!q.empty()){LL t=q.front();q.pop();for(auto j:v[t]){if(j.num==pos)continue;if(dis[j.to]>dis[t]+1){dis[j.to]=dis[t]+1;if(pos==0)lst[j.to]={t,j.num};q.push(j.to);}if(j.to==n)return dis[n];}}	if(dis[n]==dis[0])return -1;
}
void dg(LL x)
{while(x>1){in[lst[x].second]=1;x=lst[x].first;		}
}
int main()
{scanf("%d%d",&n,&m);for(int i=1;i<=m;i++){scanf("%d%d",&x,&y);v[x].push_back({y,i});}ans=work(0);dg(n);if(dis[n]==dis[0])ans=-1;else ans=dis[n];for(int i=1;i<=m;i++){if(!in[i]){printf("%d\n",ans);continue;}printf("%d\n",work(i));}return 0;
}

http://www.ppmy.cn/news/775127.html

相关文章

云存储--1

背景 这一板块主要是讲诉云计算中的存储板块。 那么云存储主要分为三大类&#xff1a;块存储、文件存储、对象存储。 那么&#xff0c;这一章我们来了解一下什么是块存储&#xff0c;以及块存储在云计算当中的使用场景。 1、 什么是块存储&#xff1f; 我们来思考一个场景&a…

自建存储服务器与网盘的比较

作为单位的网管,对ftp等自建存储服务并不陌生,最近发展得如火如荼的云存储自然也不能视而不见.经过一番试用和了解,个人觉得现在已经是和自建局域网存储说再见的时候了. 自建局域网存储不外乎是ftp和网络共享等.在局域网内放置一台存储服务器,开好ftp或者网络共享,新建一堆用户…

中创存储|想要一个好用的分布式存储云盘,到底该怎么选

隐私、数据、权利、审查、身份……这都是存储用户最关心的问题。 针对传统互联网的中心化运行、数据被互联网巨头垄断、运营商需要为各种成本买单等问题。 存储市场需要全新的技术来颠覆如今的互联网巨头垄断局面&#xff0c;保护每一个互联网用户的利益&#xff0c;简单来说…

阿里云OSS,搭建自己的云储存

目前&#xff0c;对于互联网的疯狂发展&#xff0c;数据储存成为了大多数个人或小公司的瓶颈。由于服务器的磁盘空间不是很大、宽带也不是很充足。储存网站的内容成为了一笔较大的开销。尤其是有下载、视频、音乐等业务的网站来说&#xff0c;那更是一笔庞大的开销。 较比之前…

自建OSS存储

安装oss存储服务 minio官方文档 #获取minio wget https://dl.min.io/server/minio/release/linux-amd64/minio#加权限 chmod x minio#后台启动minio ./minio可以换成minio的绝对路径 --address是服务地址 #--console-address是控制台地址&#xff0c;可以通过web进行访问 记得…

阿里云-云存储OSS

1.简述OSS 数据的可靠性较强&#xff1a;三重备份 系统的安全性较强&#xff1a;对称加密&#xff0c;签名权限控制以及防盗链功能&#xff1b; 文件存储的容量无限&#xff1b; 无需人工运维&#xff1b; 部署扩容&#xff1a;无需规则&#xff0c;按需扩容&#xff1b; 提供…

阿里云国际站的对象存储oss与自建存储的区别

对象存储oss是阿里云国际站的一个云产品&#xff0c;其功能是提供海量、安全可靠、低成本高持久的云存储服务。那么为什么要选择阿里云国际站的对象存储oss而不是自建存储&#xff0c;下面跟Unirech小编从几个方面来对比分析&#xff1a; 1.持久稳定性 阿里云作为国际大厂商…

文件存储解决方案-云存储阿里 OSS

文件存储解决方案-云存储阿里 OSS 1.文件存储&#xff08;上传&#xff09;解决方案讨论 1.图解 文件存储解决方案-云存储阿里 OSS 解读上图 普通上传并不是分布式&#xff0c;也不是集群&#xff0c;可用性不高普通上传的分布式情况&#xff0c;使用了集群&#xff0c;但是…