P4366 [Code+#4]最短路
一个图有两层:
求单源最短路。n≤105n \le 10^5n≤105。
暴力建边 n2n^2n2 不可取,所以优化建图。
第一层是完全图,第二层是直接给定边的图。对第一层优化,然后再加第二层。
想到把 (u,v,u⊕v)(u, v, u \oplus v)(u,v,u⊕v) 拆成 u⇝vu \rightsquigarrow vu⇝v 路径的形式,使得路径权值和 www 满足 w≤u⊕vw \le u \oplus vw≤u⊕v。
可以猜想上面这个其实就是 w=u⊕vw = u \oplus vw=u⊕v。
然后发现可以把 u⊕vu \oplus vu⊕v 二进制拆位,于是可以只保留从每个点开始,边权为 2k2^k2k 的边。
端点范围细节:https://www.luogu.com.cn/discuss/585050
如果想要取得更大的随机数范围以保证正确性,可以使用 mt19937_64 生成伪随机数,胜率会更大一些偶
mt19937_64
orz
写超好👍
非常详细!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
2022-03-26 [luogu p1712] 区间