P4366 [Code+#4]最短路

P4366 [Code+#4]最短路

一个图有两层:

  • 一层完全图,每对 uuvv 间都有一条边权为 uvu \oplus v 的边。
  • 一层给定图,边信息完全给定。这层图的边数 m5×105m \le 5 \times 10^5

求单源最短路。n105n \le 10^5


暴力建边 n2n^2 不可取,所以优化建图。

第一层是完全图,第二层是直接给定边的图。对第一层优化,然后再加第二层。

想到把 (u,v,uv)(u, v, u \oplus v) 拆成 uvu \rightsquigarrow v 路径的形式,使得路径权值和 ww 满足 wuvw \le u \oplus v

可以猜想上面这个其实就是 w=uvw = u \oplus v

然后发现可以把 uvu \oplus v 二进制拆位,于是可以只保留从每个点开始,边权为 2k2^k 的边。

端点范围细节:https://www.luogu.com.cn/discuss/585050

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