挣扎中的赛季末
前言
别看这标题非常像一个神秘的叙事文,但是实际上这是篇考试总结 + 类日记。
Day 1 5.28
Day 1
补了昨天考试的题。
T1 智障了。不难发现如果找到全局最优点对,剩下就只有这两个点到根这两个路径上的点不是这个答案,然后扫两边就行了。
T2 神仙 DP。考虑到我们可以把一个 的方案掰到 上,具体就是第一个向量的横坐标 ,最后一个向量的纵坐标 。因为任意一个不重向量组加起来等于 ,最后总能重排成有序的状态使得合法,所以加入可以没有顺序,使用 01 背包可以做到复杂度 。因为是不重向量组,所以我们要踢掉 的向量。
因为我们已经可以掰方案了,所以我们这里可以贪心,选小的越好,所以对于一个向量 ,我们一定是选完 的向量再选这个,否则我们可以替换使得至少某一维更小。打出来表有 600 个向量满足所有条件。
然后有一个结论就是凸包上整点个数是 ,不知道为什么。但是算出答案确实只有最多 个点。这个时候的背包理论上就是 。
交换答案和某一维的状态,设 是选 个向量,使得 的最小的 。转移是简单的。此时复杂度为 。最后记得做一个二维前缀 就行了。
T3 nxbj,等我做 DS 的时候再说。
Day 4
只能背叛自己。
Day 5
省流:场上是智障。
T1 一直在想二分,最后糊了一个把所有区间拍下来排序然后双指针的做法,场上以为这个东西没有前途,结果赛后发现把 个区间换成每一层最靠近原来平均数的两个区间就行了,我是傻逼。原题 P8424。
T2 找规律。T3 逆天 meet-in-middle。
Day 6
笑点解析:平衡树,。
最不会 ov-tree 的一集。
Day 8
T1 最大智障。我想的是神秘的长链剖分优化 DP,好像需要闵可夫斯基和合并(。正解是把这个东西重新连边形成一颗二叉树,然后因为第一步向上,所以二叉树 size 为偶数时不能继续向上合并;启发式合并二叉树的 size,每次合并两个最大的 size,然后考虑到两个偶数无法合并。考虑可以把某个偶数剥掉一个点合并。如果是最大偶数和最大奇数合并,如果没用上次大偶数一定不比两个偶数合并优,用上了之后和用两个偶数合并一致,所以两个偶数合并更优。
合并途中需要保证集合内的元素和是子树大小。
T2 JOI 2022 Giraffes。智障完了。首先注意到这个东西有一个性质,考虑把最大值和最小值全部放在一个区间非端点处,你会发现一定不满足条件,所以我们只需要保证最大值或最小值有一个在端点处。这样的话就会发现存在一种区间合并方式使得每个区间的值域连续,我们就可以根据这个东西区间 DP,设一个区间和值域的未改变数的最大值为状态,转移 ,总复杂度 。
考虑探究这个最大值或最小值有一个在端点处的其他性质。不难发现一个我们把最大值放左边,最小值放右边的加入一个 LDS,其他的加入一个 LIS,那么整个序列被划分成一个 LIS 和一个 LDS。根据某个结论,一个随机排列的的 LIS 或 LDS 长度是 的,所以上面那个 DP 的答案的值域是 的。遇到这种情况,我们肯定尝试把这个 DP 的答案塞到状态里。
考虑先转化问题,我们钦定一个初始点(边长为 的正方形),每次最大值放左边就将左端点进行 ,其他类似,我们能得到一个正方形序列。设原排列为 ,钦定关键点为 ,如果在这个序列里边我们能找到一个正方形序列,使得每个正方形互相包含(可贴),并且每个正方形都有一个关键点在四个角的任意一个(每个正方形对应的关键点不同)。不难发现该正方形序列是由一个方案简化得到,并且它的最长长度就是答案。这样我们能设出状态 为正方形序列长度为 时关键点 为正方形的 角(即 是一个方向)时的最小正方形长度。每层转移是枚举上一层的所有矩形更新答案,时间复杂度 。
最后一步就是最恶心的,考虑这个问题可以变成:在一个 2-side 矩形中找一个矩形使得其距离最远点构成的正方形边长最小,这个东西可以扫描线做,需要拆正方形边长的贡献,然后加入枚举的同方向的点,非常史。最后复杂度为 。
T3 支配树。
Day 15
前面还有一场考试就不写了。
T1 原 P9351,就是一个边界转移的 01 BFS,用并查集优化枚举做到 。
T2 不知道是什么东西。
T3 原 P5227。牛牛哈希题。掰出来一棵生成树,不连通的条件就是对一个树边,删去它和它子树中的所有一端在子树中,另一端不在子树中的非树边。你发现如果我们给非树边设置一个随机权值,两端的的点权都异或上这个权值,那么那个树边的权值就是子树点权异或和,因为端点都在或都不在子树内的非树边此时没有影响。用线性基查找有无子集异或为 即可(看是否线性相关,即看是否某个元素插入不进去)。
Day 16
对一个游戏求 SG 函数就是暴力在生成 DAG 上 DFS 跑啊。我之前连 SG 函数的定义都不知道是什么(
对于 DAG 上的一个点(状态):
本文作者:xingyu_xuan
本文链接:https://www.cnblogs.com/xingyuxuan/p/18217474
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步