CF1842D

原题

翻译

题目背景生草

因为我们想让聚会时间越长越好,所以我们对于从1开始的某一个限制,我们直到他到达了最大时间再把他加入,由此得到答案的上限为1n的最短路,且这个上限是总是可以取到的

因此如果这个上限>1018就可以结束了

否则我们考虑以下构建集合的方法:

  • 集合中始终有1
  • 按照1i的最短路从小到大排序,每个点依次加入,这样可以得到加点顺序
  • 当前这个集合的方案持续时间为当前加入点的距离-上一个加入点的距离

使用dij的话复杂度O(mlogm+nlogn),题解用了flodyO(n3+nlogn)

ps:有中文题解好耶

posted @   FOX_konata  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
点击右上角即可分享
微信分享提示