首页 > 其他分享 >2023 年 12 月训练记录

2023 年 12 月训练记录

时间:2023-12-08 12:22:20浏览次数:27  
标签:12 log 训练 sum 2023 路径 合法 LCA 区间

2023 年 12 月训练记录

怎么就寄了呢。

没救了。

不能再摆了。

CF1824E LuoTianyi and Cartridge

我们对最小值做扫描线,现在就转化成了使得 \(\sum b+\sum d\) 最大。

我们考虑点与边合法的充要条件。

注意到假设有 \(k\) 个点,\(k-1\) 条边,只要满足对于每条边的两部分都有点就是合法的,否则不合法。

这显然是必要的,充分性的话,就是考虑除非整个图连通,否则一定存在两个点,分别在这条边的两部分,并且它们不在同一个连通块内。

假设当前有 \(p\) 个点,\(e\) 条边,并且每条边两部分都有点。

如果 \(p-1<e\),则说明点可以全选,边直接保留前 \(p-1\) 大即可。

否则,可以证明边一定全选。那么对于每条边都要求它的两端都要选点。我们把边按照其深度教大的点,放到 DFS 序上考虑。那么也就是要在每个区间内和区间外都有选点。

注意到 DFS 序要么不交,要么包含,所以也就是所以极小的 DFS 序区间,要在这里面选一个点。如果存在一个区间包含所有区间,则还得再外面再选一个点。

整个过程都是可以 \(O(n\log n)\) 来维护的。

记录

CF1824D LuoTianyi and the Function

提供一个树状数组做法。

orz kcudcigam

注意到求的是历史和,那不妨就转化成 \([1,r]\) 减去 \([1,l-1]\)。

考虑维护关于行的一次函数,答案表示为 \(ans=kx+b\),用一个数据结构维护 \(k\),一个数据结构维护 \(b\)。

那每添加一个数,就相当于 \(K\) 和 \(B\) 上的区间加,然后查询就是查的区间和。

然后使用区间加,区间和的树状数组来支持 \(K\) 和 \(B\) 即可。

注意到区间加,区间和也是维护一次函数,用两个树状数组来实现,所以总共用了 \(4\) 个树状数组。

时间复杂度 \(O(n\log n)\)。

记录

CF1464F My Beautiful Madness

注意到所有路径中,假设深度最深的 LCA 为 \(x\)。

则所有路径的 \(d\) 邻居有交,当且仅当 \(x\) 的 \(d\) 级祖先 \(y\) 与路径的 \(d\) 邻居有交。

证明:首先把 \(y\) 往上拉 \(x\) 就不合法了。由于 \(x\) 是深度最深的 LCA,所以 LCA 在 \(y\) 子树内的一定合法,所以把 \(y\) 往下拉是没有意义的。

所以我们只需要判断 \(x\) 是否合法。由于 LCA 在 \(y\) 子树内的都合法,所以我们只需要考虑 LCA 在 \(y\) 子树外的了。

令 \(y\) 的 \(d\) 级祖先为 \(z\)。

  1. LCA 在 \(z\) 子树外。

    1. 如果这条路径跟 \(z\) 的子树不交,则不合法,这是好判的,我们用 BIT 在 DFS 序上维护树上差分即可;
    2. 如果这条路径跟 \(z\) 的子树有交,则合法,因为这条路径一定经过 \(z\);
  2. LCA 在 \(y\) 到 \(z\) 的路径上。

    这种情况必然合法。

  3. LCA 不在 \(y\) 到 \(z\) 的路径上,但在 \(z\) 的子树内。

    则到 \(y\) 的最近点为其 LCA。

由于在路径上的 LCA 必定合法,所以我们就只需要求 LCA 在 \(z\) 子树内的到 \(y\) 的最大距离。直接在 DFS 序上,用线段树维护直径即可。

使用 \(O(n\log n)\) \(O(1)\) LCA,时间复杂度 \(O(n\log n)\)

记录

CF1411G No Game No Life

首先,我们可以对这个 DAG,\(O(n+m)\) 的求出所有点的 SG 值。然后,问题就转化成了有一个变量 \(x\),初始为 \(0\),每次选随一个 \([1,n+1]\) 的数 \(y\),如果 \(y\in[1,n]\),则 \(x\leftarrow x \oplus sg_y\),否则结束。

问结束时,\(x= 0\) 的概率,这样就能求输的概率,然后就求出了赢的概率。

注意到 \(m\) 条边的 SG 值,不超过 \(O(\sqrt{m})\),所以 SG 的值域是 \(O(\sqrt{m})\) 级别的,在本题中就是 \(512\)。

所以,我们可以列状态 \(f_i\) 表示当前变量 \(x=i\),最后 \(x=0\) 的概率。

然后对这个高斯消元即可求出答案。

时间复杂度 \(O(m\sqrt{m})\)。

不过有更优秀的做法,给 gxy001 大神磕头了。

令 \(f_i\) 表示一次操作使得 \(x\leftarrow x\oplus i\) 的概率。令 \(g_i\) 表示最终 \(x=i\) 的概率。

\[\begin{aligned} G&=\sum_{i=0}^{\infty} \frac{1}{n+1} F^i\\ &=\frac{1}{(n+1) (1-F)} \end{aligned} \]

我们考虑对 \(1-F\) 求异或卷积逆即可得到答案。

对于异或卷积,有逆当且仅当 FWT 后每一项都非 \(0\)。

那么考虑 FWT 的过程,\(f'_i=\sum_{j=0}^{2^k-1} (-1)^{\text{popcount}(i\ \text{and} \ j)} f_j\),每一项 \(f_j\) 对于 \(f'_i\) 的贡献都是 \(\pm 1\)。

注意到这个常数项 \(1\) 相当于给每项都加了 \(1\),因为 \(\text{and}\) 出来是 \(0\)。

由于 \(0\le f_i\le \sum_{i=0}^{2^k-1} f_i<1\),所以 \(0<f'_i<2\) 的。

所以有逆。

于是我们只需要对 \(F\) 做一次 FWT,然后对点值求逆,然后再 iFWT 回去即可。

时间复杂度 \(O(n+m+\sqrt{m}\log m)\)。

记录

注意到这个做法,可以对所有的最后的 \(x\) 求出答案。

深入思考:对于异或卷积来讲,如果有逆,则逆是有限的;而对于多项式求逆来讲,逆是无限项的,所以直接对点值求逆,求出的是循环逆,相当于是在模 \(x^n -1\) 意义下的,而不是在模 \(x^n\) 意义下的。

标签:12,log,训练,sum,2023,路径,合法,LCA,区间
From: https://www.cnblogs.com/zhaohaikun/p/17884900.html

相关文章

  • 2023-2024-1 20211327 实验四 Web服务器2
    实验四Web服务器2Web服务器的客户端服务器web_server.c#include<stdio.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<arpa/inet.h>#definePORT8080#defineBUFFER_SIZE1024voidhandle_client(intclient_socket){......
  • 2023-2024-1 20211327 实验四 Web服务器1-socket编程
    实验四Web服务器1-socket编程time服务器的客户端服务器time_server.c#include<stdio.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<arpa/inet.h>#include<sys/socket.h>#include<sys/types.h>#include<s......
  • 体育产业中的图像识别创新:运动分析与训练优化
     在现代体育产业中,图像识别技术正成为一项重要的创新,为运动员的表现分析、训练优化和比赛策略提供了全新的视角。以下是体育产业中图像识别创新的一些关键应用和优势:1. 运动员动作分析:动作精准度评估: 图像识别技术可用于捕捉运动员的关键动作,分析动作的精准度和流畅度,为提高......
  • Idea2023.2连接数据库
    一、Idea实现连接MySQL数据库注意:在Jetbrains全家桶都适用。1.1.在Idea里打开1.2.设置基本信息1.3.测试注意:测试不通过查看问题二、Idea自带可视化工具操作三、问题3.1问题1简介:丢失MySQL驱动注意:Pycharm也是Jetbrains全家桶之一方式二解决下载驱动:https:......
  • 文心一言 VS 讯飞星火 VS chatgpt (152)-- 算法导论12.2 8题
    八、用go语言,证明:在一棵高度为h的二叉搜索树中,不论从哪个结点开始,k次连续的TREE-SUCCESSOR调用所需时间为O(k+h)。文心一言:要证明在一棵高度为h的二叉搜索树中,不论从哪个结点开始,k次连续的TREE-SUCCESSOR调用所需时间为O(k+h),我们可以采用数学归纳法来进行证明。首先,我......
  • 华秋DFM软件荣获2023年度电子信息行业可靠性质量提升典型案例
    在11月25日由中国电子信息行业联合会与盐城市人民政府联合主办的“2023中国电子信息行业发展大会”上,华秋DFM软件凭借其卓越的技术实力帮助电子制造产业质量提升,荣获了2023年度电子信息行业质量提升典型案例-可靠性质量提升奖项。这一荣誉是对华秋DFM软件在推动电子信息行业质量提......
  • 华秋喜获“2023深圳行业领袖企业100强”称号
    11月25日,由深圳市行业领袖企业发展促进会与深圳商报/读创共同主办的“2023深圳行业领袖企业100强”与“深圳未来行业领袖企业50强”颁奖典礼隆重举行。华秋以“电子产业一站式服务平台”的领先优势,荣获了“2023深圳行业领袖企业100强”的称号,再次证明了华秋在电子产业互联网赛道的......
  • 【2023-12-07】放眼将来
    20:00沁园春·雪临下班前,何太给我发了一篇关于《为什么领导从不提拔老实人》的文章。在当代信息烂满地的自媒体时期呀,我觉得真正的“文盲”不是不识字,而是没有鉴别的能力。我真的反而觉得那些真不识字的长辈,活得更加幸福。一他们不会被信息骚扰,被动阻隔了大部分无用信息而不用......
  • # 2023-2024-1 20231308 《计算机基础与程序设计》第十一周学习总结
    2023-2024-120231308《计算机基础与程序设计》第十一周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第十一周作业这个作业的目标计算机网络,网络拓扑,云计算,网络安全,Web,HTML,CSS,Javas......
  • 聪明办法学python-12.4——12.8笔记打卡
     python中Debug的方法  必要性:在于程序可能出现不符合预期结果的情况 困难:在于bug的出触发原因多种多样,只能看到最终结果 调试代码的基本思路:让bug在设计时更容易暴露出来,包括利用print和断言来解决简单问题,利用IDE进行调试 常见的错误:函数未定义会报错,需要检查函数......