题解 CF757F Team Rocket Rises Again

DAG 上的支配树简单题。以下是前置知识。

最短路图

对于一个带权有向图和起点 s,我们先从起点 s 跑一遍单源最短路。然后对于每条有向边 (x,y,z),若 disy=disx+z,那么就在新图上从 xy 连边。形成的图就是最短路图。

最短路图的简单性质:

  • s 到任意一点 u 的任意一条最短路的每一条边一定存在在新图中。除此之外的其他边一定不存在。

  • 最短路图是一个 DAG。

DAG 上的支配树

可以求 DAG 上任意一点 u 删除后,起点 s 无法到达的点的个数。

具体请参考[ZJOI2012]灾难


对于这道题,我们发现:删掉点 u 后到 s 的最短距离改变的点的数量,等价于在最短路图上删掉点 us 无法到达的数量。

然后我们直接建出最短路图,在上面建支配树求解即可。注意,删除的不能是起点。

我的代码写得比较麻烦,但其实思路还是很清晰的。

posted @   Little09  阅读(46)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示