[2021.1.27多校省选模拟10]跑步


经典的树上启发式合并题目,维护对应子树的从当前点到子树内一个节点这个链待定,其他部分已经确定的方案数,这个东西按照对应点到根节点的路径点权和为下标存在一个权值线段树中,然后维护这个权值线段树可以线段树合并。

然后考虑如何统计链完全匹配完成时的方案数,我们可以考虑每次合并前查询答案,相当于是对一段后缀进行询问权值和,可以进行线段树上二分,因为我们要求权值和大于等于0。然后先询问再合并,这样可以保证任意两个链都会被统计到,这个套路还是比较常见的,而且这样的复杂度就变成了O(nlognlogn)因为轻儿子总共的大小是O(nlogn)级别的,然后我们还需要对于每个点进行线段树上二分所以一共有两个log。

细节要注意我们这里处理每次继承重儿子的线段树,然后可以暴力枚举其他轻儿子,然后合并的时候对应的权值需要进行修改,因为一个链的贡献应该是除了这两个儿子之外其他儿子的方案数乘积,然而我们查询时对应的子树是不同的,但是我们发现对于还未加入的轻儿子都会要乘,所以我们只需要每次维护每个点为已经加入的其他轻儿子的权值乘积,这个可以通过维护乘法标记处理。

然后还有一点细节就是对于单独的链不是合并形成的链需要处理,对于轻儿子可以一开始把当前节点加入权值线段树,之后就会计算,对于重儿子需要特殊处理一下就好。

最后再特殊处理当前一个节点作为链的贡献即可。

[2021.1.27多校省选模拟10]跑步(线段树合并)相关推荐

  1. [2021.1.27多校省选模拟10]染色(min-max容斥/二项式反演)

    [2021.1.27多校省选模拟10]染色 突然发现我对概率期望的理解不是很好... 部分分1:可以直接进行状压dp,然后按照题意模拟即可. 部分分2:首先可以发现这个问题是min_max容斥形式,然 ...

  2. [2021.1.17多校省选模拟4]T1(莫比乌斯反演/组合数学/枚举倍数)

    [2021.1.17多校省选模拟4]T1 一般人都会想着去枚举直线的斜率,但是枚举斜率之后就会产生多条直线,并且这些直线的长度不一,难以快速求解,所以我们考虑换一种方法枚举. 枚举最远点对的横纵坐标之 ...

  3. [2021.1.13多校省选模拟2]T1(动态规划/轮廓线dp)

    [2021.1.13多校省选模拟2]T1 一个经典的轮廓线dp,可以发现一定可以找到一条轮廓将这个图形分开,然后使得左半部分由左边处理,右半部分由右边处理,然后我们只需要处理这个折线即可,具体实现需要 ...

  4. [2021.1.31多校省选模拟12]随机变换的子串(线段树维护分治/字符串/自动机思想)

    [2021.1.31多校省选模拟12]随机变换的子串 对于这三种操作,我们惊奇地发现有这样的性质,所有长度大于4的字符串都可以通过变换变为长度小于等于4的字符串,那么查询本质不同的字符串我们只需要处理 ...

  5. A. [2021.1.29多校省选模拟11]最大公约数(杜教筛/数论)

    A. [2021.1.29多校省选模拟11]最大公约数 这是一个杜教筛的经典题目,最后我们只需要筛一下1∗xμ(x)1*x\mu(x)1∗xμ(x)这个函数的前缀和即可,然后看到有111这个函数,我们 ...

  6. [2021.4.5多校省选模拟30]最小表示——map建边+广义SAM

    前言:虽然这题前面加了个括号是"省选模拟30",但是在accoders上是比赛"省选模拟31"里面的. 题目描述 题解 先贴出官方正解,是用的和后缀数组: 根据 ...

  7. [2021.4.7多校省选模拟33]A,B,C

    文章目录 考试复盘 A B C 考试复盘 今天的题其实蛮温柔的 考完试预估分160160160,好家伙到手的只有14\frac{1}{4}41​ 第一题是原题,做过的,虽然忘记怎么做了...⊙︿⊙ 但 ...

  8. 2021牛客多校1 - Journey among Railway Stations(线段树区间合并)

    题目链接:点击查看 题目大意:给出一个长度为 nnn 的序列表示火车站,每个火车站都有两个属性 [u,v][u,v][u,v],表示在站时间.相邻两个火车站之间有一个距离,即从第 iii 个火车站到第 ...

  9. 线段树合并与分裂维护树上最长上升子序列 + 点分治删点 ---- 2021 牛客多校第一场 C - Cut the tree(详解)

    题目大意: 给你一个树,树上每个点都有一个权值valnodeval_{node}valnode​,路径(u,v)(u,v)(u,v) 上所有点按顺序有序序列,令f(u,v)f(u,v)f(u,v)是这 ...

最新文章

  1. ActionBar右边菜单按钮的添加
  2. mysql开启日志占cpu不_使用MySQL Slow Log来解决MySQL CPU占用高的问题
  3. FineReport连接mysql8.0.16
  4. 405 not allowed什么意思_二驴质问散打:为什么不救天道!面临一个亿赔款?次惑小仙女宣布与可乐分手!...
  5. 摘抄自知乎的redis相关
  6. linux下tmp目录属性,Linux:文件夹属性及umask
  7. 在CentOS7上安装RocketMQ 4.8.0
  8. 五一高铁票难抢?用RPA机器人试试!
  9. 详解TCP和UDP数据段的首部格式
  10. C语言和C++的区别到底是什么?
  11. 找工作----C++面试题库
  12. 基于Rsoft的Beamprop模块进行光电子自聚焦透镜设计
  13. html中修改图片大小的标签,css如何设置图片的大小?
  14. react应用结构框架图
  15. vue+js纯手写日历(包含农历,节假日)
  16. 【ROOT from CERN】——TCanvas绘制画布
  17. 压力位和支撑位的理解。
  18. 茁壮浏览器 android,傲游浏览器六一纯真献礼 过个别开生面的儿童节
  19. 算法-寻找数组中的重复值,四种解法
  20. 技嘉GA-H97-HD3黑苹果安装+配置windows双系统

热门文章

  1. sql limit不接具体数字_这21个写SQL的好习惯,你要养成呀
  2. 把 14 亿中国人民都拉到一个微信群里在技术上能实现吗?
  3. 中小学将逐步推广编程教育;勒索病毒攻击部分政府部门和医院;国内外药企密集调价;微软要给Win7用户推死亡通知,这就是今天的大新闻...
  4. 学习总结之数据挖掘三大类六分项
  5. 计算机网络就业范围分析,计算机网络技术专业就业前景怎么样「就业形势分析」...
  6. matlab浮点数求绝对值_MATLAB仿真阵列天线切比雪夫综合法(附代码)
  7. Android jdwp 自动断开,开启debug调试模式,进入不了,等一会就闪退了!!!!
  8. 电脑睡眠快捷键_电脑快速进入睡眠的快捷键是什么?
  9. oracle cpu 100%原因,oracle 12.1 cpu 100%
  10. mac 启动mysql多实例_实践:mysql单机多实例部署(mac)