CF1553E Permutation Shift 做题记录

一个长度为 nn 的初始排列为 [1,2,3,4,,n][1,2,3,4,\ldots,n]

对其进行下列操作:

  • 首先,我们将其循环移动 kk 位, kk 为一个未知数 (0kn1)(0 \leq k \leq n-1)

将一个长度为 nn 的数组循环移动k位就是将原数组最后 kk 位移动到第 1k1 \sim k 位,并将其余 nkn-k 位移动到第 k+1nk+1 \sim n 位。比如说,我们将 [1,2,3,4,5,6][1,2,3,4,5,6] 循环移动两位,就是 [5,6,1,2,3,4][5,6,1,2,3,4]

  • 然后,我们将数组中任意两个数交换,最多进行 mm 次。

给定 n,mn,m 和最后的结果,你需要找出所有可能的 kk 值。

3n3×1053 \leq n \leq 3 \times 10^50mn30 \leq m \leq \dfrac{n}{3}1pin1 \leq p_i \leq n ,每个 1n1 \sim n 的整数均只出现一次。

阅读全文 »

CF1363D Guess The Maximums 做题记录

本题是交互题。

给定长为 nn 的数组 a=[a1,a2,...,an]a=[a_1,a_2,...,a_n]kk 个互不相交的子集 S1,S2,...,SkS_1,S_2,...,S_k,这些子集中的元素都是 [1,n][1,n] 之间的正整数。这些子集两两的交集

你可以进行最多 1212 次询问。每次询问你可以给出 cc 个互不相同且在 [1,n][1,n] 之间的正整数 v1,v2,...,vcv_1,v_2,...,v_c,然后你会得到 max{vi}\max\{v_i\}

对于每个子集 SiS_i,你需要求出 Pi=maxjSiajP_i=\max\limits_{j \notin S_i} a_j

1t10,2n10001 \leq t \le 10,2 \leq n \leq 10001ai,kn1 \leq a_i,k \leq n1c<n1 \leq c < n

阅读全文 »

CF1019B The hat 做题记录

这是一道交互题。

一共有 nn 个人做成一圈,他们的编号从 11nn

现在每个人的手里面都有一个数字 aia_i ,并且保证每个人与他周围两个人的数字差为 11 ,即 aiai±1=1\mid a_i-a_{i\pm 1}\mid =1 ,特别地,编号为 11nn 的人也满足这个规则。

在这个圈里面,编号为 ii 的人的对面坐着的是编号为 i+n2i+\frac{n}{2} 的人(其中 in2i\le \frac{n}{2}),现在要你找到哪个人与他对面坐着的那个人手中的数字一样。

2n,n1052\mid n, n\le 10^5

阅读全文 »

CF1044B Intersecting Subtrees 做题记录

这是一道交互题。

你和 Alice 正在玩一个奇怪的游戏。给出一棵 NN 个点的树,双方分别给顶点编号为 11NN,双方都不知道对方给树编号的方式。

接着双方在自己对应的树上选择一个联通子图,在你的编号方式对应的树上你选择了x1,x2,,xk1x_1,x_2,\dots,x_{k_1}在 Alice 的编号方式对应的树上 Alice 选择了 y1,y2,,yk2y_1,y_2,\dots,y_{k_2},双方都知道 x1,,xk1x_1,\dots,x_{k_1}y1,,yk2y_1,\dots,y_{k_2} 的值

现在你想知道两个子图是否存在至少一个公共点。你可以进行询问,问题有以下两种:

A,xA,x:得到在你的编号方式下的 xx 号点在Alice的编号方式下的值
B,xB,x:得到在Alice的编号方式下的 xx 号点在你的编号方式下的值

现在请你使用不多于 55询问得出是否存在公共点,或者确定两棵子树没有公共点。

1n10001\le n\le 1000

阅读全文 »

CF1392E Omkar and Duck 做题记录

构造一个 n×nn\times n 的矩阵,满足元素 1016\le 10^{16}

qq 次询问,每次给出一条 (1,1)(n,n)(1,1)\to (n,n) 只能向下向右走的路径上的元素的和,你需要保证矩阵对于这 qq 次询问路径都能唯一确定。

1n251\le n\le 251q1031\le q\le 10^3

阅读全文 »

CF1349B Orac and Medians 做题记录

询问 a1,a2,ana_1,a_2,\cdots a_n 能否通过若干次将任意区间全部赋值为其中位数这个操作,来使得整个序列全部变为kk。(中位数指第 s+12\lfloor \frac {∣s∣+1} 2 \rfloor 小的数)

多次询问,每次第一行两个整数 nnkk,第二行 nn 个整数 a1,a2,ana_1,a_2,\cdots a_n

1n105,1k109,1ai1091 \le n \le 10^5,1 \le k \le 10^9,1 \le a_i \le 10^9,并保证所有询问中nn的和不超过 10510^5

阅读全文 »

CF1366D Two Divisors 做题记录

给定 nn 个数 a1,a2,,ana_1,a_2,\dots ,a_n

对于每一个 aia_i 求出它的两个不为 11 的约数 d1,d2d_1,d_2 ,满足 gcd(d1+d2,ai)=1\gcd(d_1 + d_2, a_i) = 1,或指出不存在这样的 d1,d2d_1,d_2

n5×105n\leq 5\times 10^52ai1072\le a_i\le 10^7

阅读全文 »

CF1750G Doping 做题记录

给定长度为 nn 的排列 pp,要对于 k=1,2,3,,nk=1,2,3,\cdots,n 求出,有多少个长度为 nn 的排列 pp' 满足 pp' 字典序比 pp 小,且 f(p)=kf(p')=k,其中 f(a)f(a) 表示 aa 最少可以划分成多少个区间,使得每个区间中的元素都是公差为 11 的等差数列。

答案对输入的 mm 取模,mm 不一定是质数。

n2000n\le 200010m10910\le m\le 10^9

阅读全文 »