首页 > 其他分享 >[集训队互测2022]Path 题解

[集训队互测2022]Path 题解

时间:2022-12-13 21:23:56浏览次数:47  
标签:子树 2022 题解 路径 贡献 端点 siz Path subseteq

考虑对于两条路径\(I_i,I_j\)计算可以产生贡献的\(I\)的数量。

分类讨论:

1.\(I_i,I_j\)端点不相交

可以发现\(I_i\subseteq I,I_j\subseteq I\)。

对于任意一条路径 \(I_i\) ,符合条件的\(I\)的起点和终点都是一段区间,贡献也是二维数点的形式,可以离线扫描线解决。

2.\(I_i,I_j\)端点相交

因为保证\(I_i\neq I_j\),所以两条路径只有一个端点相同.

枚举相同的断点,对于所有以这个点位端点的路径的另一个端点建虚树,然后树形dp考虑贡献。

对于\(I_i,I_j\subseteq I\)的贡献上边可以一块计算,因此可以得出符合条件的\(I,I_i,I_j\)必定在\(root\)的同一棵子树中。

设\(r(I)\)是路径\(I\)非\(root\)的端点。

<1>.若\(r(I_i)\)和\(r(I_j)\)分属不同的子树。

可以发现贡献为\(siz_{r_(I_i)}siz_{r(I_j)}\),记\(f_x=\sum_{r(I_j)\subseteq subtree(x)}siz_{r(I_j)}\)

背包合并即可。

<2> 否则就说明\(I_j\)是\(I_i\)的子树中的点

:1 \(r(I_j)\in son(r(I_i))\)

此时答案为所有跨过\(r(I_j)\)的路径条数。

:2

贡献为在该儿子子树内选择一个路径端点的子树中的点的方案乘上在外边选择的方案。

都可以树形dp计算。

标签:子树,2022,题解,路径,贡献,端点,siz,Path,subseteq
From: https://www.cnblogs.com/jesoyizexry/p/16980642.html

相关文章

  • 2022-12-13学习随笔
    今天结束新老师的讲课,换回了原来的老师讲了.今天学习了字符流的操作/转换流/对象流,学的勉勉强强,还不知道日后的实际操作开发.工程路径和模块路径是个难点,不知道怎......
  • 2022年解决B站无法上传分P视频的方法
    首先下载安装 哔哩哔哩投稿工具2.3.0.1088https://boss.hdslb.com/material/bilibiliuploader-2.3.0.1088.exe(由于防盗链机制,只能选中右键转到或复制链接到下载器下载)......
  • Codeforces Round #655 (Div. 2) ABCDEF题解
    题号博客链接cf分数算法标签A​​https://blog.nuoyanli.com/2020/07/14/codeforces-round-655-div-2-a/​​800简单B​​https://blog.nuoyanli.com/2020/07/14/codeforces......
  • 2022.12.13-代码大全-12月读后感1
    近期,我阅读了这本书的常见的软件隐喻这一部分,我了解到了许多常见的软件隐喻。软件中的写法:写作代码。许多的想法就是从写作这个隐喻衍生而来的。对于个人规模的工作乃至小......
  • linux删除文件后空间没有释放问题解决办法
    收到服务器报警,磁盘空间满了,删除一些日志和垃圾文件后发现磁盘空间变化不大,df查看磁盘占用已经没有那么多。想了下,应该是删除的文件还应该是没有被彻底释放导致。系统是......
  • LeetCode刷题---2022.12.13
    2. 两数相加给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加......
  • [oeasy]python0029_放入系统路径_PATH_chmod_程序路径_执行原理
    ​ 放入路径回忆上次内容上次总算可以把sleep.py直接执行了sleep.py文件头部要声明好打开方式#!/usr/bin/python3用的是python3解释sleep.py修改......
  • 2022/12
    robotplan遵守学校的作息时间2022/12——2023/2ViewCode ......
  • pgadmin4 远程代码执行漏洞复现(CVE-2022-4223)
    影响版本<6.17漏洞分析就是os.path.abspath(os.path.join(...))可以访问远程UNC路径的文件,subprocess.getoutput()函数触发执行文件。漏洞代码@blueprint.route(......
  • 2022-12-13 h5跳转小程序时传递参数报错:errMsg: openapi.urlscheme.generate:fail inv
    原因:参数格式错误。我的传参中包含了一些中文字符,这在微信的文档里可以看到是不允许的,见下文:通过scheme码进入小程序时的query,最大1024个字符,只支持数字,大小写英文以......