首页 > 其他分享 >Passable Paths (hard version)

Passable Paths (hard version)

时间:2023-11-13 21:55:42浏览次数:28  
标签:Paths 一条 hard lca Passable 统计

先写正常写法:

我的评价是,后面的分讨我直接树剖拿下。

我觉得这样分讨方便一点。

lca(u,v)=v(或者u,反证就是一条链的形状),那么 lca(u,i)==i,保证i在链上。

然后还有Y字形路径,lca(u,v)=t,则lca(u,i)=id[i]>=d[t]

统一起来就是 \(lca(u,i)==i,d_{lca(u,i)}\le d_i\)。


自己的想法很复杂,我的做法是维护整个树的形态,统计它有多少分叉。

首先,这些点集之间的路径一定是一棵子树,我们找它们所有点的LCA,它就是根。

然后我们希望对于一条链,都只在它的最深处被统计一次,显然深度最大优先。

直觉来说,把点按照深度从大到小排序。

证明:然后发现一条链上的点,最深处被统计一次之后,下一次被统计的点也是另外一条链上的最深点,依次类推,这样就成立了(因为统计过的点的链上的点的ask不为0,所以不会被重复统计)。

分叉必须不超过2,才是一条链。

标签:Paths,一条,hard,lca,Passable,统计
From: https://www.cnblogs.com/zhangchenxin/p/17830347.html

相关文章

  • CF1450C2 Errich-Tac-Toe (Hard Version)
    思路实际上,如果你会简单版本,那么困难版本也没有那么难了。同样考虑构造一种通解,如下,红色的格子改为X,绿色的格子改为O,就是一种通解,同样的,这样改可能会超过棋子总数的\(\frac13\)。同样考虑将棋子按照位置分类,假如该棋子的位置是\((i,j)\),那么按照\((i+j)\bmod3\)的值......
  • Fight Hard for Ecological Protection and Governance of the Yellow River to Addre
    1.Effectivemeasureaimedataddressingthewatercontamination:Wewill fight hard for ecological protection and governance of the Yellow River. We will fully implement the requirements of determining the city, the land, the people,......
  • sharding分表应用笔记(二)——按时间分表策略配置
    sharding分表应用笔记(二)——按时间分表策略配置目录sharding分表应用笔记(二)——按时间分表策略配置1背景2配置2.1命名空间配置2.2策略接口实现2.2.1时间精确分片策略2.2.2时间范围分片策略3外部链接1背景应用背景:物理数据源只有一个;对于部分数据量大的表实行按月分表处......
  • Electrical(Hardware) Protocols: FIFO / JTAG / SPI / IIC / IIS / UART / SWD / ICS
    Electrical(Hardware)Protocols:JTAG(JointTestActionGroup),JTAGisactuallyaprotocoloverSPI.5pins/connections(GND,TMS,TCK,TDI,TDO),Outputtype:Maximumvoltage:5.5volts(5voltsafe),3.3voltnormal,oropencollector(pull-upresistorsre......
  • Sharding-JDBC框架
    背景  Sharding-JDBC配置与分离规则(重点)2.在application.yml中配置读写分离规则server: port:8080spring: shardingsphere:   datasource:     names:       master,slave     #主数据源matser     master:       type:com.alibab......
  • sharding分表应用笔记(一)——分表数据源配置
    sharding分表应用笔记(一)——分表数据源配置目录sharding分表应用笔记(一)——分表数据源配置1前言2配置2.1相关依赖2.2命名空间配置2.2.1引入sharding命名空间2.2.2物理数据源配置2.2.3分表数据源配置3外部链接1前言应用背景:物理数据源只有一个;对于部分数据量大的表实行......
  • cf1856E2. PermuTree (hard version)(bitset+二进制优化背包+开不同大小bitset)
    https://codeforces.com/contest/1856/problem/E2结论是显然的,关键是有一些科技在里面bitset+二进制优化具体分析可以参考https://codeforces.com/blog/entry/98663简而言之就是可以通过\(O(\frac{C\sqrtC}{w})\)的复杂度判断是否能够获得某种体积开不同大小bitsettemplate......
  • cf1582F2. Korney Korneevich and XOR (hard version)(暴力优化)
    cf1582F2对于每种数可以维护一个列表v[x],表示到当前位置,最后一个数小于等于x,能够取到的值,对于当前的数ai,我们可以用v[ai]中的值x与ai异或,来更新v[ai+1],v[ai+2]后面的值。然后就是有两个优化,每次我们更新完后,都对v[a[i]]清空,因为只有两个相同数之间的数才对后面可能有贡献,前面的......
  • CF1868B2 Candy Party (Hard Version) 题解
    Problem-1868B2-CodeforcesCandyParty(HardVersion)-洛谷相信大家已经看过SimpleVersion,这题和上题不同之处就在于如果\(b_i=2^x\),他可以被分解成\(2^x\)或\(2^{x+1}-2^x\),我们不妨起初固定一种方案,如果不满足条件后再把一部分换回去。我们强制钦定起......
  • 《CF1889C2 Doremy's Drying Plan (Hard Version)》 解题报告
    考场上不会做。如果考虑删掉哪些区间实际上不太可做。正难则反,转化贡献,考虑哪些点可以有贡献。显然一个点如果可能有贡献,那么当且仅当覆盖它的区间\(\leK\)个。于是我们记一个状态\(f_{i,j}\)表示前\(i\)个点中,\(i\)是最后一个贡献的点,已经删除了\(j\)段区间了。......