2022.7.21 闲话

寻找自我真的很难。

认识自我也真的很难。

已经快一年了,

却还是难以承认闲话找不到题材的事实。

也不是不承认,但是,我真的有必要写闲话吗?

不写闲话对别人会有任何影响吗?

不会。

有时不明白自己为什么还这么在意闲话。

闲话?

也许确实没用吧。


真实原因:模拟赛 too difficult to me,没闲话题材力 .

看错时间了 QAQ

不想写闲话了……放一道趣味题吧(来自 PA 2019)

Floyd-Warshall

给一个有向有权图 G,问使用如下循环方式计算的最短路有多少对错误:

for (i : [1, n])
	for (j : [1, n])
		for (k : [1, n])
			chkmin(G[i][j], G[i][k] + G[k][j])

(即 ijk 顺序的 Floyd 算法)

n103m3×103 .

首先用 Johnson 算法算出全源最短路,只需要 Θ(nmlogm),我们发现一对点对算得是对的当且仅当下面其中一个成立:

  • u,v 没有路径
  • u,v 的直接连边是最短路径
  • 在处理 u,v 之前,存在一个点 w,使得 d(u,v)=d(u,w)+d(w,v),且 u,ww,v 间的最短路已经正确计算出了 .

所有满足条件的 w 可以在最短路 DAG 上传递闭包算出,那么我们只需要按顺序额外维护每个点到哪些点的距离,以及哪些点到这个点是被正确计算的即可,这个可以 bitset .

总时间复杂度 Θ(nmlogm+mn2/w) .

UPD. 做法来自 EI .

posted @   yspm  阅读(160)  评论(6编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
😅​
点击右上角即可分享
微信分享提示