重量级构造题

CF

qwq ## 1896G

给定长度为 n2n^2 的排列 pp,每次你可以询问 i1ini_1\cdots i_n(要求元素互不相同),交互库返回这里面哪个位置最大。

2n22n+12n^2-2n+1 次询问之后你需要找出 n,n+1,,n2n,n+1,\cdots,n^2 这些数的下标。

题解

赛时没写完,急急急。

把数分成 nn 组,初始每组 nn 个数,并且对于每组记录一下这组哪个位置最大,nn 次询问。

每轮求出最大的位置是哪个,只要在每组的最大位置里面询问一次就行。

接下来我们得从某一组里面删掉这个最大位置,现在这组不完整了,为了维护出这个结构,我们从其他组拉一些不是最大位置的元素到这组知道凑够 nn 个数,再询问一次。这样可以发现确定答案的一个元素 22 个询问就够了。

当剩余元素 =2n1=2n-1 时候,再取出最大之后已经没有足够的元素组成一组了,这时候考虑一个性质:每组的最大值一定打赢过至少一场比赛,那么剩下的 n1n-1 个一定是最小的那几个,直接 n1n-1 次询问就能确定剩下 nn 个最大值的排名。

The 2nd Universal Cup

qwq

R11

R10F

给你迷宫,有些地方不能走。bot 从起点走到终点,并且访问所有能走的地方至少一次。你需要发送命令给 bot(命令包括上下左右)。如果走过去的位置不能走就不走。你的命令必须是回文串。构造。无解输出 1-1

n,m30n,m\le 30

题解

赛时写对了。

连通就有解。

先从终点开始 dfs 一次整个迷宫回到自己,记录这个串为 SS

那么我们试图构造答案为 rev(S)+T+Srev(S)+T+S,其中 TT 是回文。

现在转化为了已经访问每个点,只要从起点走到终点,把合法转移写出来 bfs 即可。

注意不能从起点开始 dfs,比如:

S111
1000
1T10

如果你开头放了 RRR 就没救了。

R10K

构造一个平面图,nn 个点,且度数 <6<6 的点不超过四个。

题解

5:03 写对了,火大。

n4n\le 4 随便造。

n=5,6n=5,6 一看就没救。

玩一下会发现 n=7n=7 没救,n=8,10n=8,10 有救:

仔细一看:

这样就能加四个点,于是可以获得 8\ge 8 的任意偶数的构造。

大力猜测奇数无解,过了。

R9K

构造 n×nn\times n矩阵,值域 [0,4n2)[0,4n^2),每个数出现不超过 55 次,相邻两个数 and 起来是 00

题解

这种题加点限制就行。

出现次数给他来个不超过 44 次,4n24n^2 把他紧到取 k=2tk=2^t 且大于等于 nn 的最小 kk,然后就是 k2k^2

考虑构造出第一行之后,后面可以:

00 11 02 13 04
11 22 13 24 10
20 31 22 33 24
31 42 33 44 30
40 01 42 03 44

这样整一下行列分别高低位。方便起见钦定 a0,0=0a_{0,0}=0

发现让 aa 的第一行互不相同是不现实的,至少会有数出现两次。这样极端情况下矩阵出现次数最多的就是八次了,不太行。

但是你发现可以考虑一下奇偶性,如果两次出现位置奇偶性不同那就只会出现四次了。

一个简单的构造是类似回文的东西:0abcdxyzxdcba00 a b c d \cdots x y \color{red}z x \cdots d c b a 0 这样的。

直接搜就能搜出一个合法序列。

R8D

平面上有 nn 个地铁站,一条地铁是一条折线,要求拐点都在整点处。

一条地铁不能自交,两条地铁只能在地铁站处相交。

现在第 ii 个地铁站要求恰好 aia_i 条线路经过。构造,并最小化地铁线路数量。

地铁站坐标 x,y1000,n50|x|,|y|\le 1000,n\le 50

题解

赛时写挂了。

答案是 maxa\max a

对于第 ii 条线路,找到 axia_x\ge i 的所有站建立 W 型线路。

旋转一下坐标系就能保证这个做法一定成功。

qwq

R7L

通信,也放这得了。

给定序列 aa,长度 1000\le 1000,值域 ull。Alice 读入 aa 并发送一个长度不超过 10241024 的 ull 序列,测评库把这个序列的元素随机选择大端或者小端并发送给 Bob。Bob 得到测评库发来的序列,还原 aa

题解

赛时写对了。

24\time 62 > 1000,我们可以给每个数记录一个信息。一个 ull 去掉两位信息位来判断有没有反转大小端(00 位放 005656 位放 11)来记录 6262 bit 信息。

一个数的信息可以看成:他大端读和小端读,他是大的那个还是小的那个。然后就好了。

qwq

R7F

构造二维平面无限平铺的 0101 矩阵,每个 11 恰好三个邻居是 11,要求 11 占比 pq\frac p q

p,q10p,q\le 10,你只要给出一个循环节。

题解

赛时写对了。

2×2\times{ \infty}11 矩阵是合法的,这样可以构造 pq23\frac p q \le \frac 2 3

上界显然是 45\frac 4 5。因为每个十字至少有一个 00

考虑 00 的连通块:必须构成矩形,否则有 11 相邻两个 00 了。

我们试试只用宽度为 11 的矩形,题目可以转化为用

.111..
10001.
.111..

这样的图形铺满整个平面。

........-------
........|1.1.1|
......---.....---
......|1.0.0.0.1|
......---.....---
........|1.1.1|
........-------
..........|1.1.1|
........---.....---
........|1.0.0.0.1|
........---.....---
..........|1 1 1|
..........---------
............|1.1.1|
..........---.....---
..........|1.0.0.0.1|
..........---.....---
............|1 1 1|
............-------

注意到你可以这样子平铺,并且每一列的矩形长度你可以自己选定。

所以放一列 1×x1\times x 能带来 xx002x+22x+211

线性组合一下就能组合出 11 密度为 pq\frac p q 的解了。