CF1528D It's a bird! No, it's a plane! No, it's AaParsa!
2024-09-08 18:39:37
个人思路:
floyd 求最短路,\(\Theta(n^3)\) 不能维护边的变化。
然后就不会做了。
正解:
首先,对于每个起始点,到达一个点 \(v\) 越早越好,因为可以等待。
边的变化相当于每个节点有一条 \(v \rightarrow v+1\) 的边,通过时间为 \(1\)。注意,起始点不能通过这条边,要特判。
显然,floyd 是没有办法维护的。我们对每个节点做一遍 dijkstra,求最短路。
使用普通的 dijkstra,时间复杂度 \(\Theta(n \log_2 n)\)。
最新文章
- ng2048源码阅读
- [转]linux,windows 可执行文件(ELF、PE)
- 分组 cube rollup NVL (expr1, expr2)
- ASP.NET高并发解决方案
- QT5.3无法自动调用incomingConnection函数的问题(4.7没有这个问题)
- CreateProcess启动隐藏的外部程序(其实就是CreateDesktop,然后指定STARTUPINFO.lpDesktop)
- centos 升级php、mysql(webtatic)
- 细说OpenSessionInView问题
- DEEPIN下搭建FTP服务器步骤(备忘录)
- 作为平台的Windows PowerShell(二)
- fork();
- python实现词法分析
- 安装Ubuntu小计
- PHP的魔法方法
- Android_简易的短信发送器
- JDBC之代码优化
- verilog reg 初值问题
- 竟然是它:# vi /etc/resolv.conf
- LintCode #2 尾部的零
- libcurl 不支持https访问