首页 > 其他分享 >ABC338D 题解

ABC338D 题解

时间:2024-01-28 22:13:53浏览次数:26  
标签:结点 题解 路径 断掉 ABC338D 代价

赛时怎么连这题都不会。再不练练思维真的就连普及题都不会做了啊。

Solution

题目来源:ABC338D(in Atcoder | in 洛谷)。

不妨先考虑应该断掉哪条边。首先我们发现,仅断掉一条边并不会让两个结点不可达,只会让我们从一个结点绕更远的路到达目标结点。

如果我们要从结点 \(u\) 前往结点 \(v\)(假设 \(u < v\)),无非就两条路径(重复走过某条边无意义):沿着 \(u\) 走过若干个 \(\ge u\) 且 \(\le v\) 的结点;从 \(u\) 走到 \(1\),绕到 \(n\) 再走到 \(u\)。这两条路径经过的边数都很好算。前者为 \((v - u)\) 条,后者为 \([(u - 1) + (n - v) + 1] = (u + n - v)\) 条。

记两路径的边数差为 \(r = \left | (v - u) - (u + n - v) \right | = \left | -2u + 2v - n \right |\)。我们钦定走边数少的路径,如果断掉该路径上的任意一条边,我们都会绕另一条路,多走 \(r\) 条边。所以我们可以认为 该路径上的边被断掉的代价为 \(r\)。那么对于每组路径要求,我们可以直接离线地在环上差分,让该路径上所有边代价整体 \(+ r\),再在最后用前缀和求出每条边被断掉的总代价。

最后只需断掉总代价最小的边即可。答案即为 所走过的最短路径之和 加上 最小代价 \(r_\min\)

断环为链地实现差分和前缀和即可。实现时注意以下几点:

  • long long。打擂台取 \(\min\) 时上界不要开小。
  • 不要混淆边的编号和点的编号。

code

标签:结点,题解,路径,断掉,ABC338D,代价
From: https://www.cnblogs.com/Running-a-way/p/17993522/sol-abc338d

相关文章

  • CF1070H 题解
    思路我们第一眼看题就发现每个字符串的长度在只有\(8\)。我们需要判断的是某个字符串是不是前面字符串的子串,因为长度太小,所以可以把字符串的每一个子串放到map里,再用一个map判断一个子串是否在当前字符串出现过,出现过就不能重复记。最后在用一个map记录一下每个子串对应......
  • CF1472F 题解
    前言只要题目给了图,你就要画图。思路首先,我们要明确一点:一个矩形,如果里面不存在任何被覆盖的方格,那么这个矩形是绝对可以被覆盖的。如果现在有一个点被覆盖了。那么必定要有一个长方形从这个点下方往后。然后继续在上方接长方形继续往后。直到出现了一个新节点被覆盖。......
  • 第一周题解
    第一周周报这一周是寒假训练的第一周,训练内容主要就是做牛客上的题单还有比赛,牛客上的题单还是比较痛苦的,因为牛客压根看不了测试用例,导致我事后想知道错的例子是什么都看不了。做第一题第二题还有倒数第三题有一两个例子一直都过不去。检查了很久的代码,一直是差一两个例子,就老是......
  • P4145 上帝造题的七分钟 2 / 花神游历各国 题解
    题目链接:上帝造题的七分钟2/花神游历各国差不多的题:[YnoiEasyRound2023]TEST_69注意到对某个点来说暴力单点即为反复的:\(x=\sqrt{x}\),最终为\(1\),根据\(master\)主定理可知,跟\(veb\)树分析差不多的,复杂度为:\(O(\log{\log{V_{max}}})\)。不懂的可以去学学这篇文章。那......
  • 洛谷题解-[ARC001B] リモコン
    https://www.luogu.com.cn/problem/AT_arc001_2题目描述 输入格式无输出格式无题意翻译题目描述:高桥君要调整空调的设定温度。现在的设定温度是A度,而他想调到B度。空调遥控器按一次可以:上调或下调1度上调或下调5度上调或下调10度高桥君想求出从A调到B度的最小......
  • P1197 [JSOI2008] 星球大战 题解
    P1197[JSOI2008]星球大战题解题目链接P1197[JSOI2008]星球大战简要思路看完题目的第一印象是——连通性。图论中判断连通性很容易想到并查集,但是并查集只支持合并和查询,并不支持删除,怎么办呢?考虑逆向思维,把删点的过程倒过来,看成加点和连边,那么此题就可以非常方便的用并......
  • 洛谷题解-P1938 [USACO09NOV] Job Hunt S
    https://www.luogu.com.cn/problem/P1938题目描述Bessieisrunningoutofmoneyandissearchingforjobs.FarmerJohnknowsthisandwantsthecowstotravelaroundsohehasimposedarulethathiscowscanonlymakeD(1<=D<=1,000)dollarsinac......
  • ATtokiomarine2020E O(rand) 题解
    题目链接点击打开链接题目解法首先,\(S\)一定要是\(T\)的子集先筛出符合条件的\(a_i\),即满足\(S\subseteqa_i\subseteqT\)令\(dif\)为\(T-S\),定义数\(x\)覆盖第\(y\)位为二进制下\(x\)的第\(y\)位为\(1\)现在的问题变成了找到大小\(\lek\)的\(\{a_i\}......
  • 洛谷题解-P2888 [USACO07NOV] Cow Hurdles S (Floyd)
    https://www.luogu.com.cn/problem/P2888题目描述FarmerJohnwantsthecowstoprepareforthecountyjumpingcompetition,soBessieandthegangarepracticingjumpingoverhurdles.Theyaregettingtired,though,sotheywanttobeabletouseaslittleene......
  • ABC338 F Negative Traveling Salesman 题解
    QuestionABC338FNegativeTravelingSalesman给出一个\(N\)个点\(M\)条边的有向图,边权可能为负数,但不可能有负环每经过一条边就要加上这条边的代价求,一条路径经过所有的点,并且要求总代价最小Solution观察到\(N\le20\)自然而然想到状压因为多次经过一条边的代价是......