首页 > 其他分享 >2024.10.9 总结

2024.10.9 总结

时间:2024-10-09 18:25:25浏览次数:1  
标签:总结 2024.10 right sum 权值 子树 孤点 left

决定以后分开写,显的博客多。

A:

首先考虑对给定树计算权值,假设我们已经知道了一个权值最小的划分,那么可以通过调整得到新的划分使得权值不变,目的是简化虚树的形态。

考虑该划分中任意一个集合形成的虚树,有两种情况:如果根节点 \(r\) 存在于任何一个最大独立集中,即 \(f_{r,1}>f_{r,0}\),则不存在 \(r\) 的儿子 \(v\) 使得 \(f_{v,0} < f_{v,1}\)。

此时,将该虚树中的点按照 \(r\) 的不同子树分成多个集合,并将 \(r\) 任意放入一个集合(如果 \(r\) 不是虚点),则权值一定不会增大;

反之,若 \(f_{r,1}\leq f_{r,0}\),则存在 \(v\) 使得 \(f_{v,0}< f_{v,1}\)。此时,将虚树中的点按照 \(r\) 的子树分开,将 \(r\) 归入子树 \(v\),权值也不会增大。

根据以上思路,我们可以归纳地证明,权值最小的划分一定只由两种结构组成:一个孤点,或者一个有祖先后代关系的点对。

我们已经证明了可以将 \(r\) 的所有子树分开,而不会增大权值。由归纳假设,\(r\) 的所有子树都可以调整为只由孤点和点对组成的划分,如果其中存在孤点,我们将其与 \(r\) 匹配为点对,否则将 \(r\) 作为孤点,容易得到,这样依然不会增大权值。

因为孤点和点对的权值都是 \(1\),所以权值最小的划分就是要最大化选出的点对数。

考虑 dp,记 \(g_u\) 表示 \(u\) 的子树内最优的划分会剩下多少个孤点。如果 \(\sum_v g_v>0\),则让 \(u\) 与一个孤点匹配,即 \(g_u=\sum_v g_v - 1\),否则 \(g_u=1\)。最终答案为 \(\frac{n+g_0}{2}\)。

对于加点,可以考虑类似动态 dp 的做法,树剖后,可以求出轻子树的 \(\sum g_v\),我们需要维护函数 \(h(x)\) 表示当重儿子 \(g_s=x\) 时 \(g_u\) 的值,\(h(x)\) 是一个分段函数,存在分界点 \(p\),满足 \(x\leq p\) 时 \(h(x)=a\left(x\wedge1\right)+b\)(\(\left(x\wedge1\right)\) 表示 \(x\) 的奇偶性),\(x>p\) 时 \(h(x)=x+c\)。

因此,\(h(x)\) 是可合并的,支持快速复合,可以用线段树维护,套用动态 dp 的做法,时间复杂度 \(\mathcal{O}\left(n\log^2 n\right)\) 或 \(\mathcal{O}\left(n\log n\right)\)。

B:

设 \(k\) 为区间长度,考虑置换环,\(p\) 进行一次置换相当于每个位置变为置换环上的下一个位置,终止条件为 \([l,r]\) 对应 \(p\) 的值域也为 \([l,r]\)。

考虑到满足条件的排列每次置换完后区间 \([l,r]\) 仍为一个值域连续段,内部可以自由排列,其贡献为:

\[\sum_{i=1}^{\left\lfloor\frac{n}{k}\right\rfloor}(k!)^{i} \cdot(i-1)!\cdot(n-i k)!\cdot F_{i, l-1, n-r, k} \]

其中:

\[F_{i, x, y, k}=\sum_{j=0}^{i-1}\binom{x-j(k-1)}{j}\binom{y-(i-j-1)(k-1)}{i-j-1} \]

对于所选中区间相交的情况有结论:“如果将所有相交的区间合并成一个连续段,则每一个连续段有且仅有两个区间,且所有连续段长度相同。在通过置换环向后跳的过程中,会首先依次经过每个连续段中的一个区间,再按相同的顺序经过每个连续段中的另一个区间,最后回到初始区间。”

C:

爱谁改谁改

标签:总结,2024.10,right,sum,权值,子树,孤点,left
From: https://www.cnblogs.com/Mitishirube0717/p/18454829

相关文章

  • DeepLearning.ai专项课程总结:深度学习入门指南
    DeepLearning.ai-SummaryDeepLearning.ai专项课程:深度学习的最佳入门之选DeepLearning.ai是由斯坦福大学教授AndrewNg在Coursera平台上推出的一个深度学习专项课程。作为人工智能和机器学习领域的顶级专家,AndrewNg精心设计了这一系列课程,旨在帮助学习者系统地掌握深度学习......
  • 【test】2024.10.8
    次大值思路发现性质,对于一个数\[a[i]\%a[j]\lea[i]\]当他取得最大值时\(a[i]<a[j]\)于是对于前&n-1&大的数,他的贡献值就是他本身,所以我们只需要保存第\(n-1\),\(n-2\)大的数就可以。但是此时要注意第\(n\)大的数的贡献值没有计算,由于\(a[n]\%a[n-2]<a[n-2]\),所以如果他要......
  • 软考信安总结-第十三章 网络安全漏洞防护技术原理与应用
    网络安全漏洞概述漏洞概念漏洞又称脆弱性,漏洞=系统自身缺陷根据补丁状况,分为普通漏洞和0day漏洞漏洞威胁主要安全威胁有:敏感信息泄露、非授权访问、身份假冒、拒绝服务解决漏洞问题方法:漏洞检测、漏洞修补、漏洞预防网络安全漏洞分类与管理漏洞来源非技术安全漏洞......
  • spring boot+vue项目从零到启动(总结版本)
    目录一.前期环境准备1.1、jdk安装以及环境配置1.2、node.js安装以及环境配置1.3、vue安装以及环境配置1.4、 mysql安装以及环境配置1.5、idea(java编译软件)(专业版)安装以及环境配置二.检查是否安装成功的命令2.1、node.js2.2、jdk2.3、mysql2.4、vue三.在运行的......
  • 什么是字节码,JAVASE,Oracle JDK 总结
     JAVASE和JAVAEEJavaSE(JavaPlatform,StandardEdition):Java平台标准版,Java编程语言的基础,它包含了支持Java应用程序开发和运行的核心类库以及虚拟机等核心组件。JavaSE可以用于构建桌面应用程序或简单的服务器应用程序。JavaEE(JavaPlatform,EnterpriseEdition):Ja......
  • Spring Boot、MyBatis、MyBatis-Plus 依赖版本对应关系总结
    SpringBoot、MyBatis、MyBatis-Plus依赖版本对应关系总结在使用SpringBoot、MyBatis和MyBatis-Plus时,确保它们的依赖版本兼容是项目正常运行的关键。版本不兼容可能会导致诸如sqlSessionFactory、sqlSessionTemplate未正确配置等错误。因此,合理选择各个依赖的版本......
  • javascript学习——CSS 操作总结
    CSS操作CSS与JavaScript是两个有着明确分工的领域,前者负责页面的视觉效果,后者负责与用户的行为互动。但是,它们毕竟同属网页开发的前端,因此不可避免有着交叉和互相配合。本章介绍如何通过JavaScript操作CSS。HTML元素的style属性操作CSS样式最简单的方法,就是......
  • 代码随想录算法训练营第四天|24. 两两交换链表中的节点、19.删除链表的倒数第N个节点
    24.两两交换链表中的节点力扣题目链接(opensnewwindow)给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。输入:head=[1,2,3,4]输出:[2,1,4,3]示例2:输入:head=[]输出:[]示例3:输入:head=[1]......
  • 10.8日noip联考总结
    10.8日noip联考总结T1考试的时候没有想到可以快速用组合数进行统计答案,于是在正常的匹配栈里还套了一个\(O(n)\)的统计答案。其实只需要在里面统计个数,在用乘法原理就可以了。括号匹配引导我们使用匹配栈,而需要快速统计答案又可以想到组合计数。T2这题不用输出方案的话就......
  • NOIP2024集训 Day47 总结
    前言人有两次生命,当他意识到只有一次的时候,第二次生命就开始最小生成树和二分图匹配专题,感觉总体都比较套路。但是这些套路为啥感觉见都没见过啊,怪不得做这么慢。色观察到对于最终答案显然都是最小生成树上一条两个端点颜色不同的边。而这个题并不会改变图的形态,仅仅是改......