首页 > 其他分享 >2024 / 12 / 25

2024 / 12 / 25

时间:2024-12-25 21:42:24浏览次数:4  
标签:25 begin 12 frac matrix 2024 right end left

树上排序

题目大意:给定一棵 \(n(n\le 5e5)\) 个节点的有根树,初始时每个节点有一个权值 \(a_i\),可以对 \(i=1,2,\dots,n\) 依次做以下操作:选择一个 \(i\) 子树内的节点并交换它们两个的权值。询问是否能够让节点 \(i\) 的权值为 \(i\)。给出方案。

先考虑如何判断是否有解。将每一个置换环拿出来,那么在这个环上的节点必须在同一条链上时才会有界。

考虑证明。首先,其它情况是一定无解的,也就是最存在两个节点 \(u,v\) 满足 \(a_v=u\) 且它们之间没有祖孙关系,此时至少要选择一个 \(u,v\) 的公共祖先将 \(a_v\) 放上去,而这个祖先只能操作一次,所以它没办法将 \(a_v\) 给到 \(u\)。

其次,考虑构造出一种方案:

  • 一个大致的思想是,只有最深的点无法操作/不用操作,所通过其它点使得方案合法。
  • 按照 \(a_i\to i\) 的顺序来连边,可以构成一个环。
  • 按照编号从小到大来依次操作每一个点,假设当前操作 \(u\)。
  • 选择一个点 \(v\),然后交换 \(u,v\),此时一定会分成两个环。
  • 目标是使得 \(u\) 是它所在的环中深度最大的点。这样子就可以递归子问题来处理。
  • 所以,只需要在原来的环上按顺序找到第一个深度比 \(u\) 大的点,就是 \(v\)。

我们可以使用平衡树来维护每一个环。

APIO2012 派遣者

树上启发式合并,用大根堆来维护。

NOI2021 密码箱

我们知道,\(f(a_0,a_1,\dots,a_n)\) 的倒数是:

\[\frac{1}{a_0+\frac{1}{a_1+\dots}} \]

有这样一个合并的形式:\(\frac{a^\prime}{b^\prime}=\frac{1}{a_i+\frac{a}{b}}\)。

化成 \(\frac{b}{a_ib+a}\),可以使用矩阵来刻画:

\[\left[\begin{matrix} a^\prime\\ b^\prime \end{matrix}\right]=\left[\begin{matrix} 0&1\\ 1&a_i \end{matrix}\right]\left[\begin{matrix} a\\ b \end{matrix}\right] \]

那么操作 W 相当于在末尾乘上一个:

\[\left[\begin{matrix} 1&1\\ 0&1 \end{matrix}\right] \]

而对于操作 E 则是乘上一个:

\[\left[\begin{matrix} 0&-1\\ 1&2 \end{matrix}\right] \]

可以使用平衡树来维护三种修改操作。

其他题目

  • SCOI2011 植物大战僵尸

标签:25,begin,12,frac,matrix,2024,right,end,left
From: https://www.cnblogs.com/ddxrS/p/18631464

相关文章

  • 打印三角形金字塔 、debug、java的方法、命令行传参、可变参数20241225
    打印三角形金字塔debug20241225packagecom.pangHuHuStudyJava.struct;publicclassPrint_Tran{publicstaticvoidmain(String[]args){for(intj=0;j<5;j++){for(intr=5;r>j;r--){System.out.print(&#......
  • 2024北京集训
    2024.12.13今天早上草草吃完早饭后匆匆赶到江北国际机场,准备去北京集训。虽然我紧赶慢赶,但还是差点晚了,我妈给我改了个前排靠窗的位置,左右两边一个人都没有,十分清净。在飞机上随便看了会平板,吃了顿只能说能吃的午餐后就落到了北京大兴国际机场。记得上一次来北京还是大兴机场刚刚......
  • CVPR-2024 | 具身导航模型大一统!NaviLLM:学习迈向具身导航的通用模型
    作者:DuoZheng,ShijiaHuang,LinZhao,YiwuZhong,LiweiWang单位:香港中文大学,上海人工智能实验室,感知与交互智能中心论文链接:TowardsLearningaGeneralistModelforEmbodiedNavigation(https://openaccess.thecvf.com/content/CVPR2024/papers/Zheng_Towards_L......
  • 2024-12-25 闲话
    我有个2TB的硬盘,最近因为一些装系统的需求,把它拿出来,存安装包,转移文件,存模型参数。不知道为什么有一天发现把它接进ubuntu之后它不能被直接访问了,chatgpt了一下,发现可以通过sudomount/dev/sda1/<file_path>来解决,并把它挂载到<file_path>上。今天突发奇想,我把它挂载......
  • Goby 漏洞发布|CVE-2024-9047 WordPress File Upload 插件 wfu_file_downloader.php 任
    漏洞名称:CVE-2024-9047WordPressFileUpload插件wfu_file_downloader.php任意文件读取漏洞EnglishName:CVE-2024-9047WordPressFileUploadPluginwfu_file_downloader.phpArbitraryFileReadVulnerabilitCVSScore:6.8漏洞描述:WordPressFileUpload插件是一款Wo......
  • 2025最新苹果手机群控攻略:如何轻松管理多个设备
    ‌2025最新苹果手机群控攻略:通过群控技术轻松管理多个设备‌要轻松管理多个苹果手机,可以利用最新的苹果手机群控技术。以下是一些关键的攻略步骤:‌选择可靠的群控软件‌:选择一款界面简洁明了、操作简便的苹果手机群控软件‌确保软件支持批量操作、实时监控、远程控制等功能......
  • [ARC127D] Sum of Min of Xor Solution
    题意给定两个长度为\(n\)的数组\(a,b\),求\[\sum_{i=1}^n\sum_{j=i+1}^n\min\{a_i\oplusa_j,b_i\oplusb_j\}\]其中\(\oplus\)表示按位异或。分析简单二进制分治题(看代码可能更好理解)。先将有序对转成无序对,最后答案为结果的一半。考虑去除\(\min\),于是拆位计算贡献......
  • 12.numpy模块使用
    1.numpy模块使用_array创建矩阵,shape查看矩阵维度,zero和ones方法2.numpy模块使用_矩阵的修改和查询操作3.numpy模块使用_矩阵内数值的乘法除法加法4.numpy模块使用_矩阵间的相加和相乘 ......
  • Yolov8-pose关键点检测:注意力机制 | 新颖的双注意力块(DAB) | 24.12月最新成果
    ......
  • 网络安全2025最详细学习路线,建议收藏!
     为了帮助小伙伴们系统化学习网络安全,我整理了一套超详细的学习路线,无论你是零基础入门还是想进一步提升,都可以参考!而且资料包免费分享,赶紧收藏!​第一阶段:网络安全基础入门1.计算机基础学习目标:掌握计算机系统组成和操作。推荐内容:操作系统基础(Windows......