2023 年 12 月训练记录
2023 年 12 月训练记录
怎么就寄了呢。
没救了。
不能再摆了。
CF1824E LuoTianyi and Cartridge#
我们对最小值做扫描线,现在就转化成了使得 最大。
我们考虑点与边合法的充要条件。
注意到假设有 个点, 条边,只要满足对于每条边的两部分都有点就是合法的,否则不合法。
这显然是必要的,充分性的话,就是考虑除非整个图连通,否则一定存在两个点,分别在这条边的两部分,并且它们不在同一个连通块内。
假设当前有 个点, 条边,并且每条边两部分都有点。
如果 ,则说明点可以全选,边直接保留前 大即可。
否则,可以证明边一定全选。那么对于每条边都要求它的两端都要选点。我们把边按照其深度教大的点,放到 DFS 序上考虑。那么也就是要在每个区间内和区间外都有选点。
注意到 DFS 序要么不交,要么包含,所以也就是所以极小的 DFS 序区间,要在这里面选一个点。如果存在一个区间包含所有区间,则还得再外面再选一个点。
整个过程都是可以 来维护的。
记录。
CF1824D LuoTianyi and the Function#
提供一个树状数组做法。
orz kcudcigam
注意到求的是历史和,那不妨就转化成 减去 。
考虑维护关于行的一次函数,答案表示为 ,用一个数据结构维护 ,一个数据结构维护 。
那每添加一个数,就相当于 和 上的区间加,然后查询就是查的区间和。
然后使用区间加,区间和的树状数组来支持 和 即可。
注意到区间加,区间和也是维护一次函数,用两个树状数组来实现,所以总共用了 个树状数组。
时间复杂度 。
记录。
CF1464F My Beautiful Madness#
注意到所有路径中,假设深度最深的 LCA 为 。
则所有路径的 邻居有交,当且仅当 的 级祖先 与路径的 邻居有交。
证明:首先把 往上拉 就不合法了。由于 是深度最深的 LCA,所以 LCA 在 子树内的一定合法,所以把 往下拉是没有意义的。
所以我们只需要判断 是否合法。由于 LCA 在 子树内的都合法,所以我们只需要考虑 LCA 在 子树外的了。
令 的 级祖先为 。
-
LCA 在 子树外。
- 如果这条路径跟 的子树不交,则不合法,这是好判的,我们用 BIT 在 DFS 序上维护树上差分即可;
- 如果这条路径跟 的子树有交,则合法,因为这条路径一定经过 ;
-
LCA 在 到 的路径上。
这种情况必然合法。
-
LCA 不在 到 的路径上,但在 的子树内。
则到 的最近点为其 LCA。
由于在路径上的 LCA 必定合法,所以我们就只需要求 LCA 在 子树内的到 的最大距离。直接在 DFS 序上,用线段树维护直径即可。
使用 LCA,时间复杂度
记录。
CF1411G No Game No Life#
首先,我们可以对这个 DAG, 的求出所有点的 SG 值。然后,问题就转化成了有一个变量 ,初始为 ,每次选随一个 的数 ,如果 ,则 ,否则结束。
问结束时, 的概率,这样就能求输的概率,然后就求出了赢的概率。
注意到 条边的 SG 值,不超过 ,所以 SG 的值域是 级别的,在本题中就是 。
所以,我们可以列状态 表示当前变量 ,最后 的概率。
然后对这个高斯消元即可求出答案。
时间复杂度 。
不过有更优秀的做法,给 gxy001 大神磕头了。
令 表示一次操作使得 的概率。令 表示最终 的概率。
我们考虑对 求异或卷积逆即可得到答案。
对于异或卷积,有逆当且仅当 FWT 后每一项都非 。
那么考虑 FWT 的过程,,每一项 对于 的贡献都是 。
注意到这个常数项 相当于给每项都加了 ,因为 出来是 。
由于 ,所以 的。
所以有逆。
于是我们只需要对 做一次 FWT,然后对点值求逆,然后再 iFWT 回去即可。
时间复杂度 。
记录。
注意到这个做法,可以对所有的最后的 求出答案。
深入思考:对于异或卷积来讲,如果有逆,则逆是有限的;而对于多项式求逆来讲,逆是无限项的,所以直接对点值求逆,求出的是循环逆,相当于是在模 意义下的,而不是在模 意义下的。
CF1912F Fugitive Frenzy#
orz zmx
假设当前警察在 ,我们考虑先让小偷先确定出在每个叶子 的概率,假设是 。
令 表示警察当前在 节点,抓到小偷的最小步数。
那么注意到警察的策略一定是选择一个叶子 ,因为小偷已经确定好了,所以在警察到叶子 前不会乱动,所以抓到小偷的概率为 ,所以 。
注意到答案一定是分数,如果做法跟精度无关,完全可以出成取模。
上面都是赛时想到的部分,下面都是 zaozao_zmx 大神很厉害的求解方法。
注意到 的元太多了,我们移项,得到 。
注意到 ,所以,。
想求解 ,我们可以初始时令 ,这是因为我们有除法,所以我们避免 。
然后随机一个位置 ,根据这个等式求出 ,把这个过程执行 次即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律