首页 > 其他分享 >2024.10.23-25 杂题

2024.10.23-25 杂题

时间:2024-10-25 09:20:10浏览次数:1  
标签:25 2024.10 子树 log 复杂度 路径 record 杂题 节点

2024.10.23-25 杂题

P7323 [WC2021] 括号路径

如果存在 \((a,b,w)\),\((c,b,w)\)。那么 \((a,c)\) 就是一条合法路径。所以把 \(a,c\) 放入一个集合。然后合并新的的时候把 \(w\) 一样的合并了就行。最后统计每个"块"的数量,答案就是 \(\sum_{i=1}^{n} C_{cnt_i}^{2}\)

复杂度 \(O(m \log n)\)

record

P11210 『STA - R8』强制在线动态二维数点

询问操作要定位四点构成的矩阵,很麻烦。

所以如果令点 \((r,l)\) 表示区间 \([l,r]\),对于询问操作,就是一次询问 \([l,r]\)

转换定义后,每一次询问,对于合法的 \((x_0,y_0)\),找到 \(k=\min_{x_0≥l}y_0\),最后答案为 \(\min_{k≤y≤r}y-x\)。该操作可以用两颗维护区间最小值的线段树维护。

修改操作,使用 multiset 存储每个左(右)端点对应的右(左)端点的集合。现在的修改操作在原线段树单点修改然后修改 multiset 里的端点即可。

复杂度 \(O((n+q) \log n)\)

record

P11220 【MX-S4-T4】「yyOI R2」youyou 的三进制数

前两个性质是互逆的,后两个性质也是互逆的,考虑无向边建图。

一个三元组 \((x,y,z)\) 是“好的”,需要存在一条从 \(z\) 开始的简单路径,它根所有从 \(x\) 到 \(y\) 的简单路径有且仅有一个交点。反证法即可证明。

建出圆方树,必经之点就是树上 \(x\) 到 \(y\) 路径上的所有圆点,称这些点为关键点。定义一个点是路径上的点当且仅当存在一条从 \(x\) 到 \(y\) 的路径经过这个点。

对于一对 \((x,y)\),能对 \(z\) 产生贡献当且仅当,\(z\) 是关键点但是不是路径上的点,存在一条从 \(z\) 开始的简单路径能在不经过任何其他路径上的点的情况下到达任意一个关键点。

令 \(siz_x\) 表示圆方树上以 \(x\) 为根子树的圆点数量。比如我们当前 dfs 到子树 \(t\),,把 \(t\) 当作根,对于节点 \(t\) 的两棵子树 \(x\) 和 \(y\),它会对其他所有除了这两棵子树内的点造成 \(2\times siz_x\times siz_y\) 的贡献。也就是对整棵树加上这个贡献,再对这两棵子树减去这个贡献,树上差分。

总复杂度 \(O(n)\)

record

P8393 [BalticOI 2022 Day2] Stranded Far From Home

可以不使用克鲁斯卡尔重构树

一个点想要说服一个比自己大的村庄,就必须要说服别的村庄提高自己的势力。但问题在于,提高的极限就是说服自己子树内的村庄?并不是,我们可以 \(a\) 说服完 \(b\),然后 \(b\) 去说服 \(c\),所以,只要比自己的小的,都有机会说服(注意不是一定)。将所有的点按照点权排序然后将原来的树重建一下,对于新图,统计处每个节点的子树和 \(s[]\),如果 \(s_y≥a_x\) 就说明可以说服。

瓶颈在于排序,复杂度 \(O(n \log n)\)

record

P3565 [POI2014] HOT-Hotels

三个点距离相等等价于深度较深的两个点的 \(lca\) 到三个点的距离相等。所以将 LCA 拎出来使三个点在同一深度就可以计算了。\(O(n)\) 枚举这个 LCA 然后 dp 同一深度,期望算法复杂度 \(O(n^2)\),可做。

最终要求的答案是三个点的方案数,设 \(f[i]\) 表示两个点的方案数,\(g[i]\) 表示一个点的,\(cnt\) 表示该深度所有点的个数。那么转移就很简单了,\(cnt\) -> \(g\), \(g\) -> \(f\), \(f\) -> \(ans\)

复杂度 \(O(n^2)\)

record

CF1009F

DSU on tree 板子题

第一次 dfs 先求出重儿子。mp[i][d] 表示节点 i 的子树中的节点中深度为 d 的数量。第二次 dfs 计算答案。

复杂度 \(O(n \log n)\)

record

P3523 [POI2011] DYN-Dynamite

\(K\) 显然是单调的,二分答案 \(K\)

dp 检查条件,设 \(f[i]\) 表示以 \(i\) 为根节点的子树中没有被覆盖的最远的点。设 \(g[i]\) 表示以 \(i\) 为根的子树中距离 \(i\) 最近的已设立的点。转移是显然的。

\[f[x] = max(f[x], f[y] + 1) \]

\[g[x] = min(g[x], g[y] + 1) \]

然后处理一下特殊情况即可。

复杂度 \(O(n \log n)\)

record

P3554 [POI2013] LUK-Triumphal arch

同样是二分答案

设 \(f[i]\) 表示在 \(i\) 的子树中不包括 \(i\) 还需要染色的次数。

求出子节点 \(f_i\) 的和记为 \(sum\),同时 \(f_i=sum+d_i-k\),\(k\) 为二分检查的值,\(d_i\) 表示度数。为了方便计算,在求 \(sum\) 的时候对于每次加 \(f_y\) 可以额外加一个一就不用统计 \(d_i\) 了。最后如果 \(f[1]=0\) 更新答案。

复杂度 \(O(n \log n)\)

record

P8917 [DMOI-R2] 风神瞳

设 \(f_{x,t,i}\) 为从 \(x\) 还需要向叶子节点跳 \(t\) 步收集 \(i\) 个风神瞳最少花费。

在 dfs 时对于 \(x\) 的子节点 \(y\):

  • \(f_{x,t,i}= f_{x,0,i-j}+f_{y,t-1,j}+1\)

  • \(f_{x,t,i}= f_{x,t,i-j}+ \min \{f_{y,0,j}+2,\min_{p=\max \{k-dep_x+1,1\}}^{k}{k-p+1+f_{y,p-1,j}+1 \}}\)

复杂度 \(O(nmk)\)

record

标签:25,2024.10,子树,log,复杂度,路径,record,杂题,节点
From: https://www.cnblogs.com/spaceswalker/p/18501785

相关文章

  • 代码随想录算法训练营day25| 491.递增子序列 46.全排列 47.全排列2
    学习资料:https://programmercarl.com/0491.递增子序列.html#算法公开课排列与组合的区别,不用startIndex,而每个树层都从0开始,但是要跳过已经用过的数(用used判断)学习记录:491.递增子序列(添加一个数组used(hash表),来保持数组每个位置上的数的使用情况,没用过为0,用过变成1)点击查看代......
  • SketchUp:材质与纹理应用教程_2024-07-16_07-25-53.Tex
    SketchUp:材质与纹理应用教程SketchUp基础介绍SketchUp软件概述SketchUp,由Trimble公司开发,是一款广泛应用于建筑、室内设计、景观设计等领域的3D建模软件。它以其直观的用户界面和强大的建模功能而闻名,适合从初学者到专业人士的广泛用户群体。SketchUp分为两个版本:Ske......
  • 20222403 2024-2025-1 《网络与系统攻防技术》实验三实验报告
    1.实验内容1.1.实践内容(1)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧正确使用msf编码器,使用msfvenom生成如jar之类的其他文件veil,加壳工具使用C+shellcode编程(2)通过组合应用各种技术实现恶意代码免杀如果成功实现了免杀的,简单语言描述原......
  • 2024.10.23 李赛
    A.CloseGroup直接状压。B.P1054[NOIP2005提高组]等价表达式傻逼吗???????怎么又不匹配的括号题面里还不说的?????建括号树,然后随一万个数判定即可。C.P7217[JOISC2020]収穫赛时感觉不可做就没做,看来我直觉还是挺准的,但是策队秒了。最重要的一步是观察到每个人摘了苹果之后下一个......
  • ChatGPT-4国内中文版镜像网站整理合集(2024/10/25)
    一、GPT中文版镜像网站①lanjing.ai支持GPT4、4o以及o1,支持MJ绘画②LearnItForSelf支持通用全模型,支持文件读取、插件、绘画、AIPPT③AIChat支持GPT3.5/4,4o以及MJ绘画1.什么是镜像站镜像站(MirrorSite)是指通过复制原始网站内容和结构,创建的备用网站。其主要目的是在......
  • HONEYWELL霍尼韦尔QCS系统5425400详解
    HONEYWELL霍尼韦尔QCS系统5425400是霍尼韦尔公司提供的一款高质量控制系统,该系统被广泛应用于多个工业领域,以下是关于该系统的详细介绍:一、系统概述HONEYWELL霍尼韦尔QCS系统5425400作为质量控制及系统的重要组成部分,具有高精度、高稳定性和易操作等特点。该系统采用先进的测......
  • 团队练习记录2024.10.23
    比赛链接:https://codeforces.com/gym/104976D.OperatorPrecedence队友解的,想办法让第二个式子中括号内数值为1,所以就2,-1交替,最后一个选1可逆推,第一个为2*n-3#include<iostream>#include<queue>#include<map>#include<set>#include<vector>#include<algorithm>#inc......
  • 20222305 2024-2025-1 《网络与系统攻防技术》实验三实验报告
    网络攻防实验报告姓名:田青学号:20222305实验日期:2024/10/18—2024/10/31实验名称:后门原理与实践指导教师:王志强1.实验内容本周学习内容总结:1.用户态(ring3)和内核态(ring0),切换时机:系统调用、中断、异常。2.自启动技术。3.进程隐藏技术实现:1>改名2>基于系统服务的伪装3>......
  • 2024-2025-1 20241401 《计算机基础与程序设计》 第五周学习总结
    班级链接2024计算机基础与程序设计作业要求第五周作业作业目标①Pep/9虚拟机②机器语言与汇编语言③算法与伪代码④测试:黑盒,白盒教材学习内容总结《计算机科学概论》第六章计算机操作:介绍了计算机的基本操作,包括机器语言的基本概念。机器语言是由一系......
  • 20222327 2024-2025-1 《网络与系统攻防技术》实验三实验报告
    一、实验内容1.正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧2.通过组合应用各种技术实现恶意代码免杀3.用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本4.问题回答(1)杀软是如何检测出恶意代码的?基于特征码检测:杀毒软件中......