首页 > 其他分享 >P9620 歌姬 题解

P9620 歌姬 题解

时间:2023-11-21 15:57:44浏览次数:37  
标签:题解 P9620 歌姬 儿子 链修 text 维护 虚树

感觉题解做法都好神秘。

来一个容易理解,通俗易懂的树剖解法。

思路

容易发现原问题等价于维护一个虚树。

每一次询问虚树的根的所有儿子的最大值。

要求链修。

容易发现仅仅动态维护根是好做的。

我们用一个 \(\text{set}\)。

每次维护 \(\text{dfs}\) 的最小值和最大值。

对于这两个点求最近公共祖先就是整个虚树的根。

现在就只需要维护链修与儿子查询。

这就是一个经典的树剖拓展了。

我们在第二次 \(\text{dfs}\) 的时候。

我们将所有轻儿子一起遍历。

那么就可以做到每个点除了重儿子,轻儿子编号连续。

每条重链,除了链顶,其余编号连续。

与普通树剖相比常数只是乘了二。

Code

AC记录

标签:题解,P9620,歌姬,儿子,链修,text,维护,虚树
From: https://www.cnblogs.com/mfeitveer/p/17846752.html

相关文章

  • S7-1200和KTP900basic 调试问题解决
    1:KTP900basic和S7-1200无法通讯?环境:型号:KTP900basic,订货号6AV2123-2JB03-OAX0 博图:V17原因,需要将KTP900basic更新最新的17.0面板镜像,一般需要在软件上额外安装SIMATIC_WinCC_Panel_Images_V17.ISO这个文件,下载连接:精智(Comfort)屏下载时提示缺少面板映像(siemens.com.cn......
  • error:0308010C:digital envelope routines::unsupported问题解决
    问题描述:报错:Error:error:0308010C:digitalenveloperoutines::unsupported报错原因:因为node.jsV17版本中最近发布的OpenSSL3.0,而OpenSSL3.0对允许算法和密钥大小增加了严格的限制报错详细信息:解决方案:方案1:打开IDEA终端,直接输入Linux&MacOS:exportNODE_OPTI......
  • CF1898 D Absolute Beauty 题解
    LinkCF1898DAbsoluteBeautyQuestion给出两个长度都为\(n\)的数组\(a,b\),我们可以任意选择两个数\(i,j\)交换\(b_i\)和\(b_j\)一次,或者不换求\(\sum\limits_{i=1}^n|a_i-b_i|\)的最大值Solution把一个\(a_i,b_i\)抽象成一条线段而交换\(b\)的操作可以......
  • 【题解】JLOI2016 - 成绩比较
    【题解】JLOI2016-成绩比较https://loj.ac/p/2026是我会的题,所以感觉难度不如noipT3T4。设\(f_{i,j}\)表示考虑到前\(i\)门课,有\(j\)人被B碾压。转移,设这轮中有\(k\)个原本被碾压的人不再被碾压,则相当于从\(f_{i-1,j+k}\)转移到\(f_{i,j}\)。考虑转移系数,首......
  • [题解]CF1899D Yarik and Musical Notes
    思路暴力化简公式题。假定\(b_{i}^{b_j}=b_{j}^{b_{i}}\)成立,那么有:\[2^{a_i\times2^{a_j}}=2^{a_j\times2^{a_i}}\\a_i\times2^{a_j}=a_j\times2^{a_i}\\\frac{a_i}{a_j}=\frac{2^{a_i}}{2^{a_j}}\\\frac{a_i}{a_j}=2^{a_i-a_j}\]因为\(\fra......
  • CF1898 C Colorful Grid 题解
    LinkCF1898CColorfulGridQuestion给出一个\(N\timesM\)的网格图给每一条边染色(R/B),需要存在一条长度为\(K\)的路径从\((1,1)\)到\((N,M)\),路径允许重复通过一个节点。Solution非常有意思的一道题先考虑\(K\)满足的最小值,显然是\((N-1)+(M-1)\),假设走上->......
  • CF1898 B Milena and Admirer 题解
    LinkCF1898BMilenaandAdmirerQuestion给出一个长度为\(n\)的序列\(a\),我们可以做一种操作使得\(a\)非降,操作是:对于一个\(a_i\)选择一个整数\(0\lex\lea_i\),用两个数\(x,(a_i-x)\)来替换\(a_i\)。求最小操作次数。Solution考虑哪些数是需要操作的,如......
  • CF1899 G Unusual Entertainment 题解
    LinkCF1899GUnusualEntertainmentQuestion给出一个排列\(p_i\)和一棵树,给出\(Q\)组询问,每组询问\([L,R,x]\)表示求\(p_L\simp_R\)上是否存在\(p_i\)在\(x\)的字数上。Solution这道题确实是一个好题。我们先考虑一个问题,怎么样才能判断子树,我们给书上的每个......
  • Windows端口占用问题解决
    查询被占用的端口进程8080为端口号netstat-ano|findstr8080杀掉线程14816为进程号taskkill/f/t/im14816......
  • noip2023 题解(民间数据)
    P9868[NOIP2023]词典(民间)直接把每个串\(w_i\)都从大到小/从小到大排一下,记作\(a_i,b_i\)。如果\(b_i\)小于除了\(i\)之外的所有\(a_i\),说明可以,否则不行。求一个前后缀最大值即可。复杂度\(\mathcal{O}(26n+nm)\)。点击查看代码#include<bits/stdc++.h>usingname......