首页 > 其他分享 >信友队 CSP-S2023 D

信友队 CSP-S2023 D

时间:2023-10-20 09:55:36浏览次数:33  
标签:siz sum 贡献 插入 S2023 times 友队 CSP

\(h\) 的存在暗示我们从后到前增量来做。

考虑建出失配树,则对于树上两点 \(x,y\),设 \(a_x\) 表示 \(x\) 到根的长度之和,则两者的绝对代价即为 \(\max(a_x,a_y)-a_{lca}\)。显然可以把两部分拆开来做。

每次插入节点,一定会把它作为原树的一个新叶子。对于 \(\max(a_x,a_y)\),其实就要求我们在插入当前 \(x\) 时,对于原本树上的节点 \(y\),若 \(a_y\le a_x\),计贡献 \(a_x\),否则计贡献 \(y\)。于是数据结构维护下前缀大小 \(a\) 的个数和后缀大小 \(a\) 的权值和即可。

对于 \(a_{lca}\),考虑插入叶子 \(x\) 时,计 \(x\) 的 \(p\) 级祖先为 \(x_p\),则贡献为 \(\sum_{i=1}^k(siz_{x_i}-siz_{x_{i-1}})\times a_{x}\)。把 \(a_x\) 作差分即可将贡献变为 \(\sum_{i=1}^k siz_{x_i}\times a_{x}'\)。对于这个式子,数据结构动态维护下链 \(siz\) 和/修改即可。

时间复杂度 \(O(m\log n^2)\)。

拆贡献,差分。

标签:siz,sum,贡献,插入,S2023,times,友队,CSP
From: https://www.cnblogs.com/ydtz/p/17776346.html

相关文章

  • CSP2023 游记
    CSP2023游记本来是写游记,现在发现好像成了复习博客。Day-3上午打了一场模拟赛,又垫底了。好像是信心赛,但是只会前两道(恼了!)。发现accoders在CSP前两天还有模拟赛,悲。复习Tarjan注意:Tarjan题目常见图不连通情况。low[u]表示以\(u\)为根的子树中结点以及这些结点......
  • CSP-S 2023 游记
    Day-12第一次打Div.1!!!然后:(乐)Day-2背板!有好多没背的。/ll平衡树应该可以被别的代替吧。/dxhttps://www.luogu.com.cn/contest/140258Day-1开坑,补之前发生的东西。......
  • CSP模拟58联测20 T3 注视一切的终结
    CSP模拟58联测20T3注视一切的终结题面及数据范围Ps:链接为衡水中学OJ。去除重边以后是树,而我们需要使一个点到另外一个点的简单路径上相邻边的颜色尽可能不相同。发现如果一条边有\(3\)种或以上的颜色,那么该边肯定可以与相邻边不同,所以把\(\geq3\)的情况均看为\(3\)的......
  • CSP 2023 游记
    Day-2上午模拟赛没好好打,本来T2想到拉插了没写,于是一上午荒废了。中午睡觉时候把《平凡的世界》第一部看完了。中午起床以后就开始想吐,可能是午饭宫保鸡丁里花生米搞的鬼。当时5k就发了烧了,他过了一会就去休息了,只好把HE-CSP2023贺图的事接过来,于是一下午荒废了。晚上......
  • 「比赛游记」CSP 2023 游记
    「比赛游记」CSP2023游记初赛简记.补一下成绩:J:92,S:81.5.10.17(day-3)模拟赛.全真模拟CCF数据上大分!!!不过我那个错解常数巨小,比较抽象.三道哈希还特别卡正确率,是想让我们场切星战吗?宣传:河北CSP贺图制作活动!!!好困哦.要练练DS了.就剩两场模拟赛了诶,会有板子日......
  • CSP 2023游记
    决定还是自己写自己的。报名没啥好说的,照片因为尺寸问题被豪哥D了一次,重传了。然后豪哥发了几套模拟题,写得一般般吧。越来越菜了。lsydp大师。开学每天都在开一些很迷惑的会。然后中考投档分数全班倒一。为什么每个人下课都还在教室里不知道写什么东西啊。然后周围......
  • CSP 2022 游记
    updon23/10/18一年了。CSP还剩3days感慨。初赛啥也没干。就随便刷刷洛谷有题。考完普及感觉很稳。考完提高感觉蒙蒙的。听说有很多人过tg不过pj?所以就感觉tg能过(updon2023.9:。。。然后tg只有48。pj81.5。光速打脸。去不了S了。/ng复赛开T1:不就是快速幂吗,水水就......
  • CSP 前抱佛脚
    Monokai天下第一。编译的一个简易代码:{ "working_dir":"$file_path", "shell_cmd":"g++$file_name-o$file_base_name-O2-Wall-Wextra-std=c++14-Wl,-stack=999999999&&startcmd/C\"$file_base_name&pause\&q......
  • csproj文件
    参考Reference引用某个程序集PackageReference引用某个NuGet包ProjectReference引用某个项目Compile常规的C#编译None没啥特别的编译选项,就为了执行一些通用的操作(或者是只是为了在VisualStudio列表中能够有一个显示)Folder一个空的文件夹,也没啥用(不过标了这......
  • P7077 [CSP-S2020] 函数调用
    显然函数之间的调用关系形成了一张拓扑图,预处理出函数\(i\)或其内部所有乘法之积\(mul_i\)。在调用一个加法函数后调用一个乘法函数,等价于先调用这个乘法函数,然后调用这个加法函数乘数次。所以不妨让乘法函数先做,剩下加法函数产生的贡献只取决于加数和调用次数。这里和线段树......