0%

    给你两长度都为 $n$ 的小写字符串 $S, T$。

    每次操作中你可以任选一个 $L (1\le L\le n)$,同时翻转 $S$ 中的任意一个长度为 $L$ 的子串和 $T$ 中任意一个长度为 $L$ 的子串。

    请回答你是否能在若干次操作后使两字符串一样?

    输入格式

    第一行一个正整数 $q(1\le q\le 10^4)$ 表示询问次数

    接下来 $q$ 组数据,每组数据三行,第一行一个正整数 $n(1\le n\le 2\times 10^5)$,第二行一个字符串 $S$,第三行一个字符串 $T$。

    保证 $\sum n\le 2\times 10^5$

    输出格式

    $q$ 行,每行一个字符串 YESNO

阅读全文 »

    • 给出一个序列 $a$,求出一个长度不超过 $3n$ 的操作序列,使序列 $a$ 中每个元素相等。

    • 定义一次操作为:选出 $(i,j,x)$ 三元组,满足 $i,j$ 为序列合法下标,$x$ 为 $10^9$ 以内非负整数,令 $a_i:= a_i-x\cdot i,a_j:=a_j+x\cdot i$。

    • 必须保证操作过程中的任意时刻序列 $a$ 中每个元素都非负。

    • 输出时先输出操作次数 $k$,然后输出 $k$ 行操作序列。

    • 数据组数 $t\le10^4$,序列长度 $n\le10^4$,元素大小 $1\le a_i\le10^5$。

阅读全文 »

    The Hat是一个快速解释/猜测单词的游戏(类似于Alias)。在这道题中,我们所讨论的是一种游戏变体,即玩家坐在桌旁,每个人都单独玩游戏。

    有 $n$ 个人聚集在一个有 $m$ 张桌子( $n \ge m \times 2$ )的房间里。他们想玩 $k$ 次 The Hat。$k$ 次游戏将在这些桌子上进行,每个人都会玩 $k$ 次游戏。

    这些玩家被分配到这些桌子上。每个玩家可以在不同的桌子上玩,但每局游戏每个玩家只能在一张桌子上玩。

    玩家们希望拥有“公平”的游戏顺序。出于这个原因,他们正在寻找一个方案,要求如下:

    • 在任意一场游戏中,所有桌子都有 $\lfloor \dfrac{n}{m} \rfloor$ 或 $\lceil \dfrac{n}{m} \rceil$ 个玩家。不同的桌子有不同数量的玩家,这些玩家可以玩不同的游戏。

    • 每个玩家都有一个值 $b_i$,它表示第 $i$ 个玩家和 $\lceil \dfrac{n}{m} \rceil$ 个玩家在一张桌子上玩游戏的次数。任意两个玩家的 $b_i$ 值相差不会超过 $1$。换句话说,对于任意两个玩家 $i,j$,满足 $|b_i-b_j| \leq 1$。

    我们称有 $\lfloor \dfrac{n}{m} \rfloor$ 个玩家的桌子为“小桌子”,称有 $\lceil \dfrac{n}{m} \rceil$ 个玩家的桌子为“大桌子”。

    例如,$n=5,m=2,k=2$,那么根据第一项要求,每张桌子上应该有 $2$ 或 $3$ 名玩家。考虑这些游戏顺序:

    • 第一局:玩家 $1,2,3$ 在第一张桌子上玩,玩家 $4,5$ 在第二张桌子上玩。第二局:玩家 $5,1$ 在第一张桌子上玩,玩家 $2,3,4$ 在第二张桌子上玩。这个顺序是不“公平”的,因为 $b_2=2$ (第二名玩家在大桌子上玩了两次),$b_5=0$ (第五名玩家没有在大桌子上玩过游戏)。

    • 第一局:玩家 $1,2,3$ 在第一张桌子上玩,玩家 $4,5$ 在第二张桌子上玩。第二局:玩家 $4,5,2$ 在第一张桌子上玩,玩家 $1,3$ 在第二张桌子。这是一种“公平”的顺序:$b=[1,2,1,1,1]$ (任意两个值的差都不超过 $1$)。

    为 $n$ 个玩家找到所有“公平”的顺序,如果他们玩 $k$ 次游戏,在 $m$ 张桌子上。

    输入格式

    第一行一个整数 $t(1 \leq t \leq 10^4)$,表示数据组数。

    接下来 $t$ 行,每行三个整数 $n,m,k(2 \leq n \leq 2 \times 10^5,1 \leq m \leq \lfloor \dfrac{n}{2} \rfloor,1 \leq k \leq 10^5)$,分别表示玩家个数,桌子个数以及游戏次数。

    保证所有测试用例的 $n \times k$ 之和不超过 $2 \times 10^5$。

    输出格式

    对于每组数据,输出 $k$ 块矩阵,每块矩阵有 $m$ 行。每一块矩阵表示一次游戏,共有 $m$ 张桌子,用一行表示一张桌子,每行先输出这张桌子的玩家数,再输出这些玩家。每组数据

    如果有多个“公平”的顺序,那么输出任意一个。保证至少有一个有效的解。

阅读全文 »

    给定一个整数 $n$,请找出一个大于等于 $2$ 的整数 $k$,使得 $n$ 可以表示成 $k$ 个除以 $k$ 的余数互不相同的正整数之和。

    数据范围:

    • $t$ 组数据,$1\leqslant t\leqslant 10^5$。

    • $2\leqslant n\leqslant 10^{18}$。

    Translated by Eason_AC

阅读全文 »

    给你一个正整数 $n$ 和三个长度为 $2\times n$ 的 01 字符串 $s_1,s_2,s_3$。你需要构造一个 01 字符串 $S$,使得:

    • 字符串 $S$ 的长度不能超过 $3\times n$。

    • $s_1,s_2,s_3$ 当中至少有两个字符串是 $S$ 的子序列。

    可以证明一定有解,有多种解时输出任意一种即可。$T$ 组数据。

    $1\leq T\leq10^4;1\leq n,\sum n\leq10^5;$

阅读全文 »

    如果一个长度为 $n$ 的排列 $a$ 满足对于任意整数 $i\in[1,n-1]$ 都有 $a_{i+1}\geq a_i-1$,我们就说这个排列是“几乎有序的”。

    给定 $n,k$,求所有长度为 $n$ 的“几乎有序的”排列中,字典序第 $k$ 小的那个。特别的,如果这样的排列不存在,输出 $-1$。$T$ 组数据。

    $1\leq T\leq10^3;1\leq n,\sum n\leq10^5;1\leq k\leq10^{18};$

阅读全文 »

    数组 $b$ 是数组 $a$ 的一个排列。每次操作只能交换 $b$ 数组的两个元素。一个数组 $b$ 的“难过值”是使 $b$ 复原为 $a$ 的最小操作次数。

    现在给定数组 $a$ ,求出“难过值”最大的数组 $b$(任意一组)。

    $\sum n \leq 2\times 10^5$ 。

阅读全文 »