首页 > 其他分享 >CTT2022 解题报告

CTT2022 解题报告

时间:2022-12-27 18:35:52浏览次数:42  
标签:扫过 CTT2022 报告 菊花 circ 解题 Delta 区间 oplus

因为摇奖想看博客,所以这篇文章发出来了!

CTT2022 解题报告

场切题数在 Day4 突破了 0,可喜可贺!

D1T1 区间计数

一个简单的想法是计算【有多少个区间满足它和某个比它更左的区间有相同的可重集合】。

  1. 更左的区间不与该区间相交

    这样的区间最多一个

  2. 更左的区间与该区间相交

    可能有多个更左的区间

我们考虑计算满足【有情况 1】+【有情况 2】-【同时有情况 1 和 2】即可。

我们定义 \(b_i\) 为位置 \(i\) 上的数上一次出现的位置,第一次出现的数给一个不合法的值。

情况 1 是经典的值域连续段问题。

情况 2 可以描述为【存在某个后缀区间 \([l',r]\) 使得该后缀满足情况 1,且 \(\max_{i=l'}^rb_i=l-1\)】。
我们希望在最小后缀处计数,可以用线段树维护。

情况 1 & 情况 2 只是再多单调栈上二分一下就行了。

D1T2 一眼丁真

邓老师神秘题。

D1T3 白兔的迷宫

一个通用的做法是,使用线性变换描述通过一条边的变化,然后高消就行了。

D2T1 报复社会

A 的目标是尽快删完黑点,B 的目标是尽快删完白点。

考虑 Subtask2:树深度只有 3 层。
对于一个菊花,假如它被删掉了根,接下来 A 去删原本菊花里的黑点,B 去删白点,那么菊花的结构可以简化成单个颜色的若干个叶子。
当一个菊花里只有若干个黑点时,B 肯定不想去打开这个菊花,可以认为菊花的根也是黑色的。
唯一特殊的情况是菊花里黑白数量相同,此时删根的人一定亏。
观察到此时菊花大小为奇数,考虑如果剩下来一个这样黑白数量相同的菊花,\(n\) 为奇时 A 得删,\(n\) 为偶时反之。

正解考虑一层一层缩菊花就行了。

D2T2 赫露艾斯塔

\(n\) 个平面上的点,每次把一个左下角的所有点扫到右边线/上边线,查询一个点左下角的点数。

将点集分成被扫过和没被扫过两部分维护。
平面左下角存在一条折线分界线,未移动的点都在分界线上方。

每次新的操作会造成均摊 \(O(1)\) 的线段插入删除,维护两维的前缀点数。

查询考虑如果点在分界线下方,那么答案为 0,否则将查询差分为右方,上方,右上方三部分。
右上方均为为扫过的点,离线二位数点即可,上方和右方对扫过的部分和没扫过的部分分别利用前缀和计算。

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

D2T3 树据结构

由于满足树编号为一个 bfs 序以及所有叶子深度相同,可以发现每层的点数不降。

那么只有 \(O(\sqrt n)\) 种本质不同点数。

每一次的修改可以拆成对每个块的修改,修改是二维前缀和,离线下来最后一起做即可。

时间复杂度 \(O((n+q)\sqrt n)\)。

D3T1 澡堂

首先可以把人按 \(\bmod m\) 分组,每组独立。
对于一组,答案为 \(\sum_{i=1}^n\max_{j\leq i}\{t_j-jT\}+iT-t_i\)。

注意到是一个前缀 max 问题,修改可以直接上平衡树上楼房重建,得到一个 \(O((n+mq)\log^2n)\) 的做法。

由于修改独立的特殊性,其实有更好的做法。
考虑预处理出每组中的每个位置往后第一个超过该位置的值,倍增。
查询时二分、倍增即可,时间复杂度 \(O((n+mq)\log n)\)。

D3T2 解谜游戏

一个经典的结论是当 \(n\) 足够大时,随机一个排列是错排的概率为 \(\dfrac 1 e\)。

每次从一个非错排出发,试图二分出其中一个正确的位置。
考虑我们每次按住左半边的数,把右半边随机打乱,如果询问的答案比原来小,那么右半边有正确的位置,递归到右边,否则足够多次后询问的答案都不变,我们认为右半边没有正确的位置,递归到左半边。

这个“足够多次”并不好把握,可能需要一个稍大的阈值才能保证正确性,我们考虑对算法稍加修改。

我们轮流按住一边的数,随机打乱另一边,一直随机到某一侧询问答案比原来小。这一做法期望 \(2e\) 次打乱就能找到有正确位置的一半了。这个做法在出题人的实现下可以拿到 61pts。

接下来需要对做法的细节进行优化以得到更好的常数,题解中提到了 3 个优化。

因为没地方交,所以没有实现,现在写这种常数优化好像也没用。

D3T3 士兵游戏

D4T1 一般路过串串题

SAM 板子,具体不记得了。

D4T2 排列

本题是密码学中的经典结论,其中b=1时构造的排列被称为深度为3的 Feistel Network。

注意到两种交互库运行时间有区别,查 256 次用运行时间区分即可。

考虑 \(b=1\) 时排列有什么性质可以用。

\[x_2=x_0\oplus f_1(x_1)\\ x_2=x_4\oplus f_3(x_3)\\ x_1\oplus x_3=f_2(x_2) \]

首先任取 \(a_0\circ a_1\),询问得到 \(a_3\circ a_4=P(a_0\circ a_1)\)。
然后取一个偏移量 \(\Delta(\Delta\neq 0)\),令 \(b_0=a_0\oplus \Delta,b_1=a_1,c_3=a_3,c_4=a_4\oplus \Delta\)。
询问得到 \(b_3\circ b_4,c_0\circ c_1\)。注意到 \(b_2=c_2=a_2\oplus \Delta\)。
那么有 \(b_1\oplus b_3=c_1\oplus c_3\)。

若 \(b=0\),这 4 个量都可以认为是随机的,满足这个式子的概率不超过 \(2^{-64}\)。

D4T3

事实上本题似乎存在用 0 次容斥, 1 次容斥, 2 次容斥, 3 次容斥 的几种不同思路, 最后都能够通过本题.

神秘 EI 题。

标签:扫过,CTT2022,报告,菊花,circ,解题,Delta,区间,oplus
From: https://www.cnblogs.com/juju527/p/17008723.html

相关文章

  • 网页大作业——丝绸之路网页报告
    一、实验目的和要求运用已经掌握的知识完成网站。通过此次设计可以达到全面理解、运用网页制作的知识,并使之得以融会贯通,在掌握运用Dreamweaver8flash8fireworks8制作网......
  • Ant发送接口测试报告到邮箱
    接口测试完成后生成测试报告的同时通过邮箱发送进行汇报接口测试结果,可以结合jenkins+ant+jmeter配置发送到指定邮箱来完成。一、jenkins+ant+jmeter的配置jenkins+ant+j......
  • 软件工程——软件测试(黑盒测试、白盒测试、测试分析报告)
    经过前面软件测编码阶段,是不是我们就可以把软件发布出去供用户使用了呢?不是的,为了确保软件不会出现不必要的差错,还需要经过重重测试的。目录​​软件测试的目的​​​​软件......
  • 软工视频——软件维护(软件维护申请报告)
    进行完软件测试阶段,这时程序还不可以完全的交给用户,需要进行软件维护阶段目录​​软件维护的类型有哪些?​​​​影响维护工作量的因素​​​​软件维护的策略​​​​那如何......
  • 实验八实验报告
                                             实验八介绍:YUM全程(YELLOWDOGUPDATE......
  • Selenium28-测试报告
    批量运行为什么要批量运行?测试用例数量庞大,需要一次运行,查看所有用例的运行结果。什么是测试套件和测试运行器?TestSuite(测试套件)是为了测试执行而分组的测试用例......
  • PPT 商务报告:如何建立专属PPT素材库
    PPT商务报告:如何建立专属PPT素材库为什么建立素材库?省事:直接套用应对紧急环境:无网络情况下,无法搜索提升设计思路:帮助提升思路通用型素材库企业型素材库模板......
  • 液体眼线笔BCOP测试报告
    什么产品需要这个认证呢?像接触眼睛外贸论坛外贸论坛的眼影,液体眼线笔,磁性睫毛,假睫毛,等都可能会对眼睛产生eBay论坛eBay论坛一定外贸论坛外贸论坛的刺激,所以亚马逊现在也在严......
  • PPT 商务报告,如何去表现客户LOGO
    PPT商务报告,如何去表现客户LOGOLOGO如何下载LOGO如何展示矩阵排列删除背景,变成白色删除背景设置透明度AI软件做成矢量图LOGO转色法......
  • 亚马逊儿童围栏ASTMF406测试报告CPSIA测试
    亚马逊美国CPC认证儿童安全围栏ASTMF406检测标准CPC认证就是儿童产品安全证书(Children’sProductCertificate,CPC)适用于所有以12岁及以下儿童为主要目标使用对象的产品,......