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

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


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

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/314176.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASP.NET Core 双因素验证2FA 实战经验分享

必读本文源码核心逻辑使用AspNetCore.Totp,为什么不使用AspNetCore.Totp而是使用源码封装后面将会说明。为了防止不提供原网址的转载,特在这里加上原文链接:双因素认证双因素身份认证就是通过你所知道再加上你所能拥有的这二个要素组合到一起…

银行卡BIN码大全

BIN号即银行标识代码的英文缩写。BIN由6位数字表示,出现在卡号的前6位,由国际标准化组织(ISO)分配给各从事跨行转接交换的银行卡组织。银行卡的卡号是标识发卡机构和持卡人信息的号码,由以下三部分组成:发卡行标识代码(BIN号)、发…

HDU 1404 Digital Deletions(博弈 + SG函数打表)

Digital Deletions 思路 一道博弈论的题目,考虑到题目所给的范围是字符长度为1−>61-> 61−>6,所以我们可以考虑暴力打表出10610 ^ 6106内的所有状态, 确定基本的两个状态sg[0]1[先手胜],sg[1]0[后手胜]sg[0] 1[先手胜], sg[1] …

cjy基础动态规划

cjy基础动态规划 P2219 [HAOI2007]修筑绿化带 对于一个nm的矩形空间内,然后选择一个ab的矩形加上它所在部分的权值,然后在内部再选择一个c*d的矩形,然后减去它的权值和,求解最大的权值。 首先我们可以通过枚举求得所有右下角对…

Be the Winner(结论:反nim博弈)

Be the Winner 结论 记一个结论:反nim博弈,先手必胜1:尼姆和为零,所有值为1。2:尼姆和不为零,有一个大于1的数。 代码 /*Author : lifehappy */ #pragma GCC optimize(2) #pragma GCC optimize(3) #inc…

结合“性能监视器” 排查、处理性能瓶颈导致应用吞吐率等指标上不去的问题...

双11备战前夕,总绕不过性能压测环节,TPS 一直上不去 / 不达标,除了代码上的问题外,服务器环境、配置、网络、磁盘、CPU 亦是导致性能瓶颈的重要一环,本文旨在分享最近项目性能压测过程中的排查经验,文中的表…

坑点、问题记录

1:项目Spring版本升级之后,服务启动有如下报错: 六月 02, 2018 5:51:49 下午 org.apache.catalina.core.ApplicationContext log 严重: StandardWrapper.Throwable org.springframework.beans.factory.BeanCreationException: Error creatin…

E - The Imp(博弈/动态规划)

E - The Imp 有n个物品且分别为价值vi成本ci,然后每次选择购买后,有人可以使用k次魔法,使得物品消失但是成本仍然花费了,求解最大收益。 首先最后的最优解序列,一定是可以由自己决定的,那么它一定满足vi递…

Mult-Nim博弈

Nim or not Nim? 结论 Mult−NimMult-NimMult−Nim博弈:有nnn堆石子,两个人可以从任意一堆石子中拿任意多个石子(不能不拿)或把一堆数量不少于22石子分为两堆不为空的石子,没法拿的人失败,问谁会胜利。 结论SG(x)x−1[xmod40],…

提高工作效率的方法

1:集中注意力、专注度 1)远离分散你注意力的东西(如:将手机锁到柜子里) 2)保持主航道不变:在做A的时候,不要因为想到了B,就去做B。而是判断B的重要、紧急程度&#xff…

背包dp的核心思想(动态规划)

背包dp 突然发现我一直没有真正理解背包,真正的背包应该是用空间换时间的一种dp方法,本质上就是n个物品选或不选,理论上有2n2^n2n种可能结果,但是背包利用的就是值域很小这一特点来重叠子结构,所以背包本质上处理的应该是一个集合…

秒半价,限四天!Vostro极致轻薄全能本,助你全能全开!

在信息化时代,电脑就是你工作和创业的“合伙人”!每天比别人多处理几件任务、每天比别人快20分钟,每天比别人少重启和崩溃几次,日积月累获益多到算不过来!小编四处打探,有三款王者电脑重磅优惠,…

HDU 3590 PP and QQ(反nim博弈,删边游戏)

PP and QQ 思路 删边游戏了解一下,其实就是个nim博弈吧,只是删边个数有特殊限制, 然后就是一个反nim博弈了。 删边定理: 遇到分叉口时,它的子树上的可操作的sg函数为所有子树节点的sg函数的异或值, 然后…

【活动】侬好上海,Microsoft Reactor来啦

在美国纽约、旧金山和雷德蒙德,在英国伦敦,在澳大利亚悉尼,在以色列特拉维夫,分别都有这样一处专为开发者打造的宝地,在这些地方:❖ 经常举办各种免费的技术讲座,与大家分享最新技术和产品❖ 频…

JDK演化系列(1.0~~~1.9)

系列文章导读 JDK 1.0包含的功能 JDK 1.1新增&优化&去掉的功能 JDK 1.2新增&优化&去掉的功能 JDK 1.3新增&优化&去掉的功能 JDK 1.4新增&优化&去掉的功能 JDK 1.5新增&优化&去掉的功能 JDK 1.6新增&优化&去掉的功能 J…

#6682. 梦中的数论(Min25筛)

#6682. 梦中的数论 推式子 ∑i1n∑jkn∑k1n[(j∣i)∧((jk)∣i)]显然有jk>j,所以我们另jkk′,有j>k′,并且j,k′都是i的约数这就相当于在σ(i)中选取一对有序对了,所以总的选法有C(σ(i),2)种原式∑i1nσ(i)(σ(i)−1)2∑i1nσ2(i)−∑…

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

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

.NET Core 小程序开发零基础系列(2)——小程序服务通知(模板消息)

基于上一篇文件“.NET Core 小程序开发零基础系列(1)——开发者启用并校验牵手成功”的反映,个人觉得效果很不错,大家对公众号开发还是有很大需求的,同时也收到了很多同学的问题,后面我也会通过实战性文章慢…

Java工程师修炼之路

文章来自于微信公众号:Hollis,作者网站:https://www.hollischuang.com/ 转载过来方便查看 1 基础篇 01 面向对象 → 什么是面向对象 面向对象、面向过程 面向对象的三大基本特征和五大基本原则 → 平台无关性 Java 如何实现的平台无关 …

P4900 食堂(数学式子推导)

P4900 食堂 推导 ans∑i1n∑j1iij−∑i1n∑j1i⌊ij⌋前项为∑i1ni∑j1iinv(j),两次前缀和即可得到后项为∑i1n∑j1i⌊ij⌋∑i1n∑j1id(j),nloglogn2n即可得到ans \sum_{i 1} ^{n} \sum_{j 1} ^ {i} \frac{i}{j} - \sum_{i 1} ^{n} \sum_{j 1} ^{i} \lfloor\frac{i}{j} \r…