CTT2022 游记

OI 生涯的最后一场比赛。

Day -?

给深中壬讲题,他们好像自闭了。

Day -2

跟 pb 汇合,约了 zzh 和他父母一起吃饭,然后全程就是教练和他父母聊(

晚上到了酒店,开始摸鱼。

Day -1

室友在上预科课,我在摸鱼。

下午又去做了核酸检测,回来的时候跟着 ___ ___ ___ ___ 一起,感觉很厉害(

Day 0

室友在上预科课,我在摸鱼。

下午听 dzd 讲话。

Day 1

rk30,摆大烂了。

D1T1 末日的魔法少女计划

给定正整数 \(n,k\),构造 \((n+1)\times(n+1)\)\(01\) 矩阵 \(A\)(行列编号为 \(0\sim n\)),使得

  • \(\forall i\in[0,n]\)\(A_{i,i}=1\)
  • \(\forall i\in[0,n-1]\)\(A_{i,i+1}=1\)
  • \(\forall i,j\in[0,n]\)\(A_{i,j}=1\implies i\le j\)
  • \(\forall i,j\in[0,n]\)\(A_{i,j}=1\land j-i>1\implies\exists i<t<j,A_{i,t}=A_{t,j}=1\)
  • \(\forall i,j\in[0,n]\)\(i\le j\implies (A^k)_{i,j}>0\)

\(m=\sum_{i=0}^n\sum_{j=i+2}^nA_{i,j}\),你需要使得 \(m\) 尽量小。

对于所有数据,\(1900\le n\le 2000\)\(2\le k\le 15\)

本题共 \(14\) 个子任务,分别对应 \(k=2\sim 15\) 的情况,获得 \(s(k)\cdot\max(0,1-\sqrt{\max(0,\frac m{n\cdot f(k)}-1)})\) 分。

\(k\) \(2\) \(3\) \(4\) \(5\) \(6\) \(7\) \(8\) \(9\) \(10\) \(11\) \(12\) \(13\) \(14\) \(15\)
\(s(k)\) \(22\) \(14\) \(11\) \(9\) \(7\) \(6\) \(5\) \(5\) \(4\) \(4\) \(4\) \(3\) \(3\) \(3\)
\(f(k)\) \(7.9870\) \(3.8085\) \(2.3960\) \(1.9610\) \(1.6065\) \(1.4515\) \(1.2540\) \(1.1980\) \(1.0995\) \(1.0705\) \(1.0345\) \(1.0120\) \(1.0015\) \(0.9940\)

D1T2 魔塔OL

魔塔一共有 \(n\) 层,魔塔中每个怪物的等级 \(\le m\),难度 \(\le k\)

初始时魔塔中没有怪物,接下来进行 \(Q\) 次操作:

  • \(1\ x\ y\ z\ a\ b\):表示在魔塔的第 \(x\) 层加入一个等级为 \(y\) 难度为 \(z\) 的怪物,打败该怪物需要耗费 \(a\) 血量,打败后将回复 \(b\) 血量;
  • \(2\ x\):表示将第 \(x\)\(1\) 操作加入的怪物从魔塔中永久移除,保证操作合法;
  • \(3\ x\ y\ z\):表示玩家要将魔塔前 \(x\) 层中所有等级 \(\le y\) ,难度 \(\le z\) 的怪物按照任意顺序杀死,中途血量不能小于 \(0\),询问在最优击杀顺序下初始血量最少是多少?

对于所有数据,\(n,m,k\le 10^4\),三种操作分别 \(\le 5\cdot 10^4\) 个,\(0\le a,b\le 10^9\)

  • \(\text{Subtask }1\ (5\%)\)\(Q\le 10\)
  • \(\text{Subtask }2\ (5\%)\)\(Q\le 5000\),依赖 \(\text{Subtask }1\)
  • \(\text{Subtask }3\ (10\%)\)\(k=1\)\(b=0\)
  • \(\text{Subtask }4\ (17\%)\)\(n,m,k\le 5\)
  • \(\text{Subtask }5\ (30\%)\)\(m=k=1\)
  • \(\text{Subtask }6\ (33\%)\):无特殊限制,依赖 \(\text{Subtask }2,3,4,5\)

D1T3 基因编辑

给定正整数 \(n,L,R,a_1,\cdots,a_n\),在所有满足 \(l<L\)\(R<r\)\(\forall l'<r'\)\(a_{l'}=a_l\land a_{r'}=a_r\implies l'=l\land r'=r\) 的数对 \((l,r)\) 中,求 \(r-l+1\) 的最小值。

对于所有数据,\(L\le R\le n\le 10^6\)\(a_i\le 10^6\)

  • \(\text{Subtask }1\ (5\%)\)\(n,a_i\le 10^3\)
  • \(\text{Subtask }2\ (10\%)\)\(n\le 10^3\),依赖 \(\text{Subtask }1\)
  • \(\text{Subtask }3\ (25\%)\)\(a_i\le 10^3\),依赖 \(\text{Subtask }1\)
  • \(\text{Subtask }4\ (30\%)\)\(a_1,\cdots,a_{L-1}\) 互不相同,\(a_{R+1},\cdots,a_n\) 互不相同;
  • \(\text{Subtask }5\ (30\%)\):无特殊限制,依赖 \(\text{Subtask }2,3,4\)

心路历程

上来对着 T1 自闭了好久,只会个 \(26\) 分。

然后去看 T3,暴力堆着堆着发现做完了。

然后去看 T2,暴力堆着堆着然后弃疗了。

题解

你只要知道 T1 是 lxl 题,就要把它看成区间半群查询(所有区间都是左闭右开的),\(k=2\) 分治,\(k>2\) 分块。

T2 是 Claris 题,bitset + 四毛子,复杂度 \(O(nQ/\log n)\)

T3 是 sb 题,充要条件是 \(a_l\) 只在 \(l\)\(>r\) 的位置出现,且 \(a_r\) 只在 \(r\)\(<l\) 的位置,我的做法是枚举 \(r\) 然后倍增搞搞。

Day 2

两天 rk33,摆大烂了。

D2T1 简单数据结构

给定长为 \(n\) 的正整数序列 \(\{a_i\}\)\(Q\) 次操作:

  • \(1\ v\)\(\forall i\in[1,n]\)\(a_i:=\min(a_i,v)\)
  • \(2\)\(\forall i\in[1,n]\)\(a_i:=a_i+i\)
  • \(3\ l\ r\):求 \(\sum_{i=l}^r a_i\)

对于所有数据,\(n,q\le 2\cdot 10^5\)\(a_i\le 10^{12}\)

  • \(\text{Subtask }1\ (10\%)\)\(n,q\le 5000\)
  • \(\text{Subtask }2\ (20\%)\):数据随机生成;
  • \(\text{Subtask }3\ (15\%)\):没有第二种操作;
  • \(\text{Subtask }4\ (55\%)\):无特殊限制,依赖 \(\text{Subtask }1,2,3\)

D2T2 Datalab

这是一道交互题

定义 \(n=2^{13}\),交互器有 \(n\) 个整数 \(s_0,s_1,\cdots,s_{n-1}\),保证 \(s_i\in\{-1,1\}\)\(s_{n-1}=1\)\(s_{n-2}=-1\)

一台计算机用长为 \(n\)\(\texttt{01}\)\(a\) 表示整数 \(f(a)=\sum_{i=0}^{n-1}s_ia_i2^i\),设其能表示的整数的最小/大值为 \(L,R\),可以证明 \(f\)\(\{\texttt{0,1}\}^n\)\([L,R]\) 的双射,设其反函数为 \(g\)

你每次可以询问两个长为 \(n\)\(\texttt{01}\)\(a,b\),交互器告诉你 \(g((f(a)+f(b)-L)\bmod 2^n+L)\)

  • \(\text{Subtask }1\ (10\%)\):你可以询问 \(8200\) 次;
  • \(\text{Subtask }2\ (15\%)\):你可以询问 \(5550\) 次;
  • \(\text{Subtask }3\ (75\%)\):评分参数是个反比例函数,但我不记得了。

D2T3 随机游走

给定正整数 \(n,m\) 和质数 \(p\)\(n\) 个点的有向图,初始时 \(i\to i+1\),你需要加 \(m\) 条边(允许重边和自环),求从 \(1\) 开始随机游走到 \(n\) 的最大期望步数 \(\bmod p\)\(T\) 组数据。

\(T\le 3\cdot 10^5\)\(n,m\le 10^{18}\)\(3\le p<10^9\)

部分分不记得了。

  • \(\text{Subtask }1\ (10\%)\)
  • \(\text{Subtask }2\ (10\%)\)
  • \(\text{Subtask }3\ (20\%)\)
  • \(\text{Subtask }4\ (20\%)\)
  • \(\text{Subtask }5\ (10\%)\)
  • \(\text{Subtask }6\ (30\%)\):无特殊限制。

Day 2.5

今天是社会活动日。

上午 7 点要求集合,比平时还早 /jy

结果一看是要晨跑,zjr 推着轮椅跟着滑了一圈 /mgx

麦当劳早餐不太行,牛奶味道好淡啊 /yiw

然后听了个神必讲座,然后又是讲大学生活。

吃完午饭之后上了个嘤语课,讲了个老男人 PUA 小女孩的故事,我直呼内行。

然后又是讲大学生活。

下午坐车跑了 \(20\text{ km}\) 就为了去参观一个地方可还行,晚饭跟星火的同学一起吃所以我跟 cxr 和 fsy 打了个车跑了 \(20\text{ km}\) 又回来了,我直呼内行。

晚上吃饭的时候 pb 还在写作业,好卷啊 /jy

Day 3

三天 rk33,摆大烂了。

D3T1 小明的树

给定 \(n\) 个点的树和 \(2\sim n\) 的排列 \(a_1,\cdots,a_{n-1}\)。初始时有 \(cnt=0\),每个点都未点亮。按排列 \(a\) 的顺序依次点亮,若某个时刻每个被点亮的点的子树均被点亮,则令 \(cnt\) 加上被点亮的点的连通块个数,求操作结束后 \(cnt\) 的值。之后 \(m\) 次删一条边再加一条边,同样求答案。

对于所有数据,\(n,m\le 5\cdot 10^5\)

  • \(\text{Subtask }1\ (10\%)\)\(n,m\le 8000\)
  • \(\text{Subtask }2\ (20\%)\)\(m=0\)
  • \(\text{Subtask }3\ (70\%)\):无特殊限制,依赖 \(\text{Subtask }1,2\)

D3T2 出题高手

给定长为 \(n\) 的整数序列 \(a_i\)\(m\) 次询问 \(L,R\),求 \(\max\{(\sum_{i=l}^ra_i)^2/(r-l+1):L\le l\le r\le R\}\) 的分数表示。

对于所有数据,\(a_i\)\([-1000,1001]\) 的随机整数。

  • \(\text{Subtask }1\ (5\%)\)\(n,m=500\)
  • \(\text{Subtask }2\ (15\%)\)\(n=10^5\)\(m=1\)
  • \(\text{Subtask }3\ (30\%)\)\(n=5\cdot 10^5\)\(m=1\)
  • \(\text{Subtask }4\ (15\%)\):不记得了;
  • \(\text{Subtask }5\ (35\%)\)\(n=10^5\)\(m=3\cdot 10^5\)

D3T3 扑克比大小

给定长为 \(n\) 的小写字符串 \(S\)\(q\) 次询问子串 \(t\),求有多少个本质不同的子串 \(s\) 使得 \(s^\infty<t^\infty\)

对于所有数据,\(n,q\le 5\cdot 10^5\)

  • \(\text{Subtask }1\ (3\%)\)
  • \(\text{Subtask }2\ (3\%)\)
  • \(\text{Subtask }3\ (4\%)\)
  • \(\text{Subtask }4\ (5\%)\)
  • \(\text{Subtask }5\ (?\%)\)
  • \(\text{Subtask }6\ (?\%)\)
  • \(\text{Subtask }7\ (?\%)\)
  • \(\text{Subtask }8\ (?\%)\)
  • \(\text{Subtask }9\ (?\%)\):无特殊限制。

Day 4

四天 rk34,摆大烂了。

真的退役了诶(

D4T1 算术

【模板】阶

子任务编号 \(T\le\) \(p\le\) 分值
\(1\) \(10\) \(3\) \(5\)
\(2\) \(10\) \(10\) \(5\)
\(3\) \(10^2\) \(10^2\) \(5\)
\(4\) \(10^2\) \(10^4\) \(11\)
\(5\) \(10^2\) \(10^6\) \(11\)
\(6\) \(10^3\) \(10^8\) \(11\)
\(7\) \(10^3\) \(10^{10}\) \(11\)
\(8\) \(10^3\) \(10^{12}\) \(7\)
\(9\) \(10^4\) \(10^{14}\) \(17\)
\(10\) \(10^5\) \(10^{15}\) \(17\)

D4T2 经典游戏

给定 \(n\) 个点的有根树,初始时点 \(i\)\(a_i\) 个石子,两人轮流选择一个石子,将其放到子树内另一个点的位置,不能操作者输。

\(m\) 次询问 \(x,y\),令 \(a_x:=a_x+1\)(不还原),求 \(y\) 及其相邻点中有多少个 \(r\) 满足以 \(r\) 为根时,后手无论如何在任意一个点加上一个石子(还原),先手都获胜。

对于所有数据,\(n,m\le 5\cdot 10^5\)

  • \(\text{Subtask }1\ (16\%)\)
  • \(\text{Subtask }2\ (15\%)\)
  • \(\text{Subtask }3\ (14\%)\)\(n,m\le 5000\),依赖 \(\text{Subtask }1,2\)
  • \(\text{Subtask }4\ (13\%)\)\(n,m\le 10^5\),链;
  • \(\text{Subtask }5\ (12\%)\)\(n,m\le 10^5\),菊花;
  • \(\text{Subtask }6\ (11\%)\)\(n,m\le 10^5\),所有 \(y\) 相等;
  • \(\text{Subtask }7\ (10\%)\)\(n,m\le 10^5\),依赖 \(\text{Subtask }4,5,6\)
  • \(\text{Subtask }8\ (9\%)\):无特殊限制,依赖 \(\text{Subtask }3,7\)

D4T3 随机数据

给定 \(n\) 件物品和正整数 \(k,d\),物品 \(i\) 的价值为 \(v_i=w_{i\bmod k}\)

两人轮流取物品,先手可以任意取,设取了物品 \(i\),则后手只能取物品 \((i-d)\bmod n\)\((i+d)\bmod n\) 或跳过本轮操作,已经被取或不可用的物品不能取。

\(q\) 次询问,改变某个物品的可用状态,求两人都尽可能使取得物品价值之和尽量大的情况下,后手取的物品价值之和。

\(n\le 10^{18}\)\(k\le 5\cdot 10^4\)\(w_i\) 的范围不记得了 /yun。

  • \(\text{Subtask }1\ (5\%)\)\(n\le 20\)\(q=1\)
  • \(\text{Subtask }2\ (10\%)\)\(n\le 10^5\)\(q=1\),依赖 \(\text{Subtask }1\)
  • \(\text{Subtask }3\ (15\%)\)\(n,q\le 10^5\)
  • \(\text{Subtask }4\ (30\%)\)\(q=1\),依赖 \(\text{Subtask }2\)
  • \(\text{Subtask }5\ (40\%)\):无特殊限制,依赖 \(\text{Subtask }3,4\)
posted @ 2021-12-07 11:00  mizu164  阅读(1562)  评论(0编辑  收藏  举报