首页 > 其他分享 >CF1253F Cheap Robot 题解

CF1253F Cheap Robot 题解

时间:2024-04-15 16:24:02浏览次数:23  
标签:一条 题解 边权 Cheap Robot 最小 ge CF1253F remain

首先建立一个超级点 \(S\),对于每一个可以充电的点 \(u\) 都建立一条从 \(S\to u\) 的边权为 \(0\) 的有向边。从这个超级点 \(S\) 开始跑一遍最短路算法,就可以得到每一个点 \(u\) 至少需要花费多少的电量才可以走到一个充电点。令 \(D_i\) 表示 \(i\) 号点最少花费多少可以到一个充电点。

假设当前 Robot 走到了一个点 \(i\),此时 Robot 的剩余电量是 \(remain\),电池的容量是 \(R\) 那么必然有 \(R-D_i\ge remain\ge D_i\)。

考虑枚举每一条 \(i\) 点的出边 \(i\to j\),边权为 \(w\),那么必然有 \(R-D_j\ge remain-w\ge D_j\)。合并得到了 \(D_i+D_j+w\le c\)。

也就是说,从 \(i\) 点到 \(j\) 点,若至少有一条 \(i\to j\) 的边,且所有 \(i\to j\) 的边边权最小的边的边权是 \(w\),则最少需要的电池容量是 \(D_i+D_j+w\)。

但是问题是有 \(Q\) 组询问,不能对于每一组询问都暴力在每一条路径上去搜索出最小的合法答案。

容易发现(很容易吗),若对于每一条边的最小需要电池容量都已经求出,那么考虑建图 \(G\),那么求出 \(G\) 的任意一棵子最小生成树 \(T\),则任何的一对点 \((u,v)\) 的一组花费的电量最小解上的每一条边都一定在这个最小生成树 \(T\) 上。

因为有 \(Q\) 组询问且是静态的,所以使用书上倍增预处理出树 \(T\) 上的每一条路径的 \(\max\) 值,每一次直接 \(\log\) 查询即可。时间复杂度为 \(O((n+Q)\log n)\),可以通过。

标签:一条,题解,边权,Cheap,Robot,最小,ge,CF1253F,remain
From: https://www.cnblogs.com/BaiduFirstSearch/p/18136220

相关文章

  • LlamaIndex 常见问题解答(FAQ)
     提示:如果您尚未完成,请安装LlamaIndex并完成起步教程。遇到不熟悉的术语时,请参考高层次概念部分。在这个章节中,我们将从您为起步示例编写的代码开始,展示您可能希望针对不同应用场景对其进行的常见定制方法:python fromllama_index.coreimportVectorStoreIndex,Simp......
  • P4383 林克卡特树 题解
    题意:给定带边权的树,要切掉\(k\)条边,再任意连上\(k\)条边权为\(0\)的边。问最优策略下得到的树的边权最大值。\(n,k\le3\times10^5\)。参考【问题转化】切掉\(k\)条边后会变成\(k+1\)个连通块,之后的连边一定会把这\(k+1\)个连通块的直径连起来。所以相当于问把......
  • [题解](A-G)Atcoder Educational DP Contest(更新中)
    AtcoderEducationalDPContest\(\textbf{A.Frog1}\)对于一块石头\(i(3\lei\leN)\),\(i-1\)和\(i-2\)均能到达。用\(f[i]\)表示跳到第\(i\)个石头用的最小体力消耗:\[f[i]=min(abs(h[i]-h[i-1])+f[i-1],abs(h[i]-h[i-2])+f[i-2])\qquadi\ge3\]时间复杂度\(O(n)\)。......
  • 华中农业大学第十三届程序设计竞赛 题解
    A-scx的散文诗句Solution正负分开来分别处理,按照绝对值从大到小排序,两两匹配注意:当没有\(0\)且正数和负数都为奇数,即最后剩下一个正数一个负数时,必须匹配Code#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;voidsolve(){intn;cin>......
  • [题解]P1629 邮递员送信
    好久不写图论题了,Dijkstra都花了好长时间捡起来……之前也没有接触过反图的概念。这个题算是我重拾图论知识以来的第一题了。__φ(..)P1629邮递员送信Dijkstra是单源最短路的算法。但这个题除了要求节点\(1\)到其他节点的距离,还要知道其他节点回到节点\(1\)的距离。如果我们每个......
  • [POI2012] Rendezvous 题解
    众所周知,\(lyh\)是一名压行大师,也是一名\(juruo\),所以他将他繁琐的方法用\(102\)行表现了出来……明显原题为基环内向树森林。首先用并查集计算连通块,不在一个连通块里的答案就是\(-1\-1\)。发现实际上答案就是以环为根节点,求\(lca\)的结果,求完后可以分为两种情况:根......
  • [ABC349] AtCoder Beginner Contest 349 题解
    [ABC349]AtCoderBeginnerContest349题解目录[ABC349]AtCoderBeginnerContest349题解A-ZeroSumGameB-CommencementC-AirportCodeD-DivideIntervalE-WeightedTic-Tac-ToeF-SubsequenceLCMG-PalindromeConstruction总结A-ZeroSumGame零和博弈,......
  • P10289 [GESP样题 八级] 小杨的旅游 题解
    题目简述给定一棵树,节点之间的距离为$1$,树上有$k$个传送门,可以从一个传送门瞬间传送到另一个传送门,有$q$此询问,问$u$和$v$之间的最短距离是多少。题目分析首先考虑没有传送门,我们可以直接求两个点的LCA,再用高度容斥计算即可。如果有传送门,那么有用与不用两种选择,如......
  • 【官方题解】Codeforces Round 939 (Div. 2)
    CodeforcesRoundAyachiNeneSolutions(div.2)A.Nene'sGameIdea:[user:Otomachi_Una]Solution不难发现如果一个人初始位置\(p\geqa_1\),那么必然会在有限次回合当中被踢出。答案即为\(\min(n,a_1-1)\)。B.NeneandtheCardGameIdea:[user:Otomachi_Una]Hint......
  • [暴力题解系列+正经题解]好数
    好数虽然不是13号考的那批人,但是还是扔一个暴力题解在这里。首先数据范围\(n\le10^7\),就算纯粹暴力去做也只是\(O(nlogn)\),也就是直接从1到n去枚举。秉持着暴力就是要优化细节的精神,对题目进行一个分析,发现无论如何,个位数必须是奇数,否则必然不满足条件,那么优化手段就显而易见了......