跳至主要內容

0323 第 8 场 小白入门赛/强者挑战赛

大约 12 分钟

0323 第 8 场 小白入门赛/强者挑战赛

T1. 坤星球【算法赛】

问题描述

坤星球是一颗十万光年之外的星球,相比于地球的时间流逝它的时间流逝更加缓慢,坤星球 11 年等于地球 2.52.5​ 年。

现在问你,20242024 坤年等于地球多少年?

注意:答案输出阿拉伯数字,不能为浮点数。

输入格式

本题为填空题,无需输入即可作答。

输出格式

输出一个数字,表示答案。

T2. 二进制王国【算法赛】

问题描述

二进制王国是一个非常特殊的国家,因为该国家的居民仅由 0011 组成。

在这个国家中,每个家庭都可以用一个由 0011 组成的字符串 SS 来表示,例如 101101000000111111 等。

现在,国王选了出 NN 户家庭参加邻国的庆典。为了符合王国的审美标准,我们需要选择一种排队顺序,使得最终形成的队伍在字典序上是最小的。

国王将这个任务交给了你,请你解决这个问题。

输入格式

第一行包含一个整数 N(1 N2×105)N(1\ \leq N \leq 2\times10^5),代表二进制家庭数量。

接下来输入 NN 行,第 ii 行输入一个二进制字符串 SiS_i 表示第 ii​​ 户家庭。

数据范围保证:i=1nSi2×105\sum_{i=1}^{n} |S_i| \leq 2\times 10^5,其中 Si|S_i| 表示第 ii 个字符串的长度。

输出格式

输出一行一个字符串,表示字典序最小的排队情况。

输入样例

3
111
000
101

输出样例

000101111

说明

字典序最小的排队应该是 S2S3S1S_2S_3S_1,形成的队伍为 000101111000101111

T3. djwcb【算法赛】

问题描述

异灵术老师是一位考法考没考过、做程序员被辞退、当站长网页崩溃、做主播游戏关服的倒霉人,同时也是炉石相对论的发明人,具体为:

"嗷,我打错了,这一费奶五不对"

"嗷对的对的对的对的"

"对吗"

"嗷不对 哎呀不对不对"

"哎呀对的对的对的对的"

"嗷不对,还有个狙击"

现在,直播间的弹幕小老哥给他出了这样的一道题目:

给定 22 个正整数 x,px,p,你需要输出 xpmod10x^p \bmod 10 的结果。

由于异灵术老师不会这道题,因此他找来了直播间的你,如果你做出来了这道题,他就答应你买雀魂的卡维皮肤给你看,你可以做出来这道题吗?

输入格式

第一行输入一个正整数 T(1T1000)T(1\le T\le 1000),表示测试数据组数。。

对于每组测试数据:

输入一行,包含两个正整数 x,p(1x103,1p10200000)x,p(1\le x\le 10^3,1\le p\le 10^{200000})

数据保证 1i=1Tlog10pi2×1051\le \sum_{i=1}^{T} \log_{10}{p_i}\le 2\times 10^5。换句话说,便是保证所有数据指数之和在 12×1051\sim 2\times 10^5

输出格式

对于每组测试数据:

输出一个非负整数,表示 xpmod10x^p \bmod 10 的结果。

样例输入

2
9 3
10 2

样例输出

9
0

说明

对于第一个查询,93=9×9×9=729,729mod10=99^3=9\times 9\times 9=729,729 \bmod 10=9

T4. 求解线性方程组【算法赛】

问题描述

又到了大家最喜欢的数学考试时间!

小蓝老师给了你 nn 个方程组成的线性方程组,格式如下:

x1+x2=a1x_1+x_2=a_1

x1+x2+x3=a2x_1+x_2+x_3=a_2

x2+x3+x4=a3x_2+x_3+x_4=a_3

\dots \dots\dots

xn3+xn2+xn1=an2x_{n-3}+x_{n-2}+x_{n-1}=a_{n-2}

xn2+xn1+xn=an1x_{n-2}+x_{n-1}+x_{n}=a_{n-1}

xn1+xn=anx_{n-1}+x_n=a_n

小蓝老师还会提供给你 a1,a2,a3,,an(1in)a_1,a_2,a_3,\cdots,a_n(1\le i\le n) 的值,并且规定 xix_i0011​ 构成。

你需要求解给定的线性方程组,由于答案可能不唯一,你需要输出字典序最小的解。

输入格式

第一行输入包含一个正整数 n(2n2×105)n(2\le n\le 2\times 10^5),表示线性方程组的数量。。

第二行输入 nn 个正整数 a1,a2,a3,,ana_1,a_2,a_3,\cdots,a_n 表示数组 a(0ai3)a(0\le a_i\le 3) 的值。

数据保证该线性方程组至少存在一组解,且一定是合法数据。

输出格式

输出 nn 个整数,为字典序最小的线性方程组的解,第 ii 个整数表示 xix_i

样例输入

5
1 2 2 2 1

样例输出

0 1 1 0 1

说明

该线性方程组有两组解,第一组解为 0 1 1 0 1\text{0 1 1 0 1},第二组解为 1 0 1 1 0\text{1 0 1 1 0},因为第一组解字典序更小,所以你需要输出第一组解。

T5. 美丽圆环【算法赛】

问题描述

小蓝得到了一个圆环,圆环上挂着 NN 个数字 A0,A1,A2,,AN1A_0, A_1, A_2, \ldots, A_{N-1}

为了使圆环变成一个美丽的圆环,需要满足以下条件:

  • 对于第 ii 个数字 AiA_i,它的相邻数字为 A(i1+N)modNA_{(i-1+N)\bmod N}A(i+1)modNA_{(i+1)\bmod N}。其中,至少有一个相邻数字大于等于 AiA_i,另一个相邻数字小于等于 AiA_i

现在,小蓝想要让圆环变得足够美丽。他可以进行任意次以下操作:

  1. 将圆环上的任意数字更改为任意整数。
  2. 交换圆环上任意两个数字的位置。

请问,小蓝最少需要进行多少次操作 11 才能使圆环变成一个美丽的圆环?

输入格式

第一行包含一个整数 T(1T1000)T(1 \leq T \leq1000),表示测试数据的组数。

对于每组测试数据:

  • 第一行输入一个 N(2N100)N(2 \leq N \leq 100),表示圆环上数字的个数。
  • 第二行输入 NN 个整数 A0,A1,A2,,AN1A_0,A_1,A_2,\cdots,A_{N-1},表示圆环上的数组 A(1AiN)A(1 \leq A_i \leq N)

输出格式

对于每组测试用例输出一行一个整数表示答案。

输入样例

2
4
3 2 1 2
3
1 2 3

输出样例

1
2

说明

对于样例 11,我们可以先将数组变为 [1,2,1,2][1,2,1,2] 后重排为 [1,1,2,2][1,1,2,2]​,此时数组符合条件。

对于样例 22,我们可以将数组变为 [1,1,1][1,1,1],当然 [2,2,2],[3,3,3][2,2,2],[3,3,3] 也符合条件。

T6. 小蓝的跳跃【算法赛】

问题描述

在小蓝面前有 nn 个方格,每个方格里面都有一颗糖果,糖果的口味有两种,一种是芒果味,一种是蓝莓味。小蓝每次都可以向前跳跃一格或两格,每到一个方格,小蓝就会将方格上的糖果吃下去。如果小蓝吃到的糖果是芒果味,心情值就会减少 11 点;如果小蓝吃到的糖果是蓝莓味,心情值就会增加 11 点,小蓝的初始心情值为 00

现在问你,是否存在一种跳跃方式,使得小蓝 跳跃出所有方格 后,心情值恰好为 xx 点。如果存在,则输出 Yes;如果不存在,则输出 No

对于跳跃出所有方格的解释:

图片描述
图片描述

小蓝初始在 00 位置,需要跳跃到终点 n+1n+1

输入格式

第一行输入一个正整数 tt,表示测试用例组数。(1t10001\le t\le 1000)。

对于每组测试数据:

第一行输入两个正整数 n,xn,x,含义如题所述。(1n2×105,2×105x2×1051\le n\le 2\times 10^5,-2\times 10^5\le x\le 2\times 10^5)。

第二行输入 nn 个整数,第 ii 个整数的值为 111-111 代表该位置是蓝莓味的糖果,1-1 代表该位置是芒果味的糖果。(1in1\le i\le n)。

1i=1tni2×1051\le\sum_{i=1}^{t} n_i\le 2\times 10^5

输出格式

对于每组测试数据,若存在一种跳跃方式,使得小蓝跳跃出方格后,心情值恰好为 xx 点,则输出 Yes;如果不存在,则输出 No

样例输入

3
4 1
1 1 1 1
3 1
1 -1 1
2 1
-1 1

样例输出

No
Yes
Yes

说明

对于第一组测试数据:不存在任意一种跳跃方式,使得结果为 11

对于第二组测试数据:你可以选择吃所有的糖果,使得结果为 11

对于第三组测试数据:你可以先跳跃到 11,然后再跳 11 格出方格。

T7. 赛博奴隶主【算法赛】

问题描述

作为魂穿皮皮鸡的你,经过一段时间的发展,现在要带领帕鲁们打倒可恶的赛博奴隶主了!

要打倒一个 boss,首先就要知道 boss 的血量。我们的赛博奴隶主作为最大的 boss,自然也有他的血量。但是他十分狡猾,把自己的血量藏了起来。不过无论如何,他必须提供一种方式让帕鲁们知道他的血量。赛博奴隶主所提供的方式如下:

赛博奴隶主把头顶上的血量变成了一个数字 nn,他的实际血量为 nn 的所有约数的 kk 次方之和,然后再对 109+710^9+7 取余。

举个例子,如果 n=9n=9k=3k=3,那么赛博奴隶主的实际血量为 (13+33+93)mod(109+7)=757(1^3 + 3^3 + 9^3) \bmod (10^9+7) = 757

你现在需要做的就是求出赛博奴隶主的血量,然后带领帕鲁们一起打败他!让我们解放帕鲁吧!

图片描述
图片描述

输入格式

第一行输入 11 个正整数 tt,表示测试案例组数。(2t1022\leq t\leq 10^2)。

接下来 tt 行,每行输入 22 个正整数 n,kn,k,其中 nn 表示赛博奴隶主的血条,kk 表示 kk 次方的血量转化比。(1n,k10181\leq n,k \leq 10^{18})。

输出格式

输出 tt 行,每行包含一个正整数,表示对应赛博奴隶主真实的血量,注意!这个结果是对 109+710^9+7 取模后的结果。

样例输入

3
3 1
4 2
4 1

样例输出

4
21
7

说明

对于样例:

4=1+34=1+3

21=1+4+1621=1+4+16

7=1+2+47=1+2+4

T8. 取气球【算法赛】

问题描述

为庆祝蓝桥周赛的举办,大厅中挂满了 nn 个填充空气的气球。第 11 号气球被粘在天花板上,其他气球则用绳子挂在比它编号小的气球上。为了防止气球被扯破,每个气球上方最多只能连着一根绳子

小明觉得气球太多了,于是决定拿走一些。小明有两种方式可以拿走气球:

  1. 割断一根绳子,这根绳子下方的所有气球都会掉落。小明可以将这些气球全部拿走。
  2. 戳破一个气球,这根气球下方的所有气球都会掉落。当然,被戳破的气球本身是无法拿走的。

由于主办方财大气粗,每一根绳子和每一个气球都采用了不同的材料。对于第 ii 根绳子,小明需要花费 wiw_i 的力气来割断它。对于第 jj 个气球,小明需要花费 aja_j 的力气来戳破它。

小明最多能使出 WW 点力气,他想知道他最多能拿走多少个气球。

输入格式

第一行包含两个整数 n,Wn,W,代表有 nn 个气球, 小明最多能使出 WW 点力气。(1n,W50001\leq n,W \leq 5000)。

接下来一行包含 nn 个整数 a1,a2,,ana_1,a_2,…,a_n,表示戳破每个气球需要的力气。(1ai5×1031\le a_i\le 5\times10^3)。

接下来 n1n-1 行每行包含 22 个整数 {ui,wi}\lbrace u_i,w_i\rbrace , 表示编号为 i+1i+1 的气球上端连着第 uiu_i 个气球,割断这根绳子需要 wiw_i 点力气。(1uin,1wi5×1031\le u_i\le n,1\le w_i\le 5\times 10^3)。

输出格式

输出仅一行,包含一个整数,表示答案。

样例输入

8 6
9 6 1 2 1 1 2 1
1 5
1 1
1 5
2 2
2 1
4 1
4 2

样例输出

5

说明

22 点力气割断第气球 22 和气球 55 之间的绳子,获得 55 这一个气球。

11 点力气割断第气球 22 和气球 66 之间的绳子,获得 66 这一个气球。

11 点力气割断第气球 11 和气球 33 之间的绳子,获得 33 这一个气球。

22 点力气割戳破气球 44,获得 7788 两个气球。

故样例输出 55

T9. 最后的加 k【算法赛】

问题描述

现在有一个正整数 nn ,你需要对他进行 kk 次操作,每次操作需要在其十进制每一位上加上 xx 形成一个新的数。

例如 n=114,k=2,x=3n=114,k=2,x=3 ,第一次 n=447n=447 ,第二次 n=7710n=77101010 是由 7+37+3 得来的。

现在给定你 n,k,xn,k,x,你需要求出操作结束后这个数的长度,由于这个结果很大,你需要对 10000000071000000007 取模。

输入格式

第一行输入两个正整数 txt,x ,表示测试案例的组数以及十进制每一位需要加的数。 (1t2×104,1x1091\le t\le 2\times 10^4,1\le x\le 10^9)。

接下来 tt 行,每行输入两个正整数 n,kn,k ,表示给定的正整数 nn 以及操作次数 kk。(1n,k1091\le n,k\le 10^9)。

输出格式

输出 tt 行,每行一个正整数 ,为对 10000000071000000007 取模后的结果。

样例输入

3 2
1234 1
5 4
114 514

样例输出

4
2
621940455

说明

12341234 经过 11 次变换成为 34563456

55 经过 44 次变换成为 333357911335\rightarrow 7 \rightarrow 9\rightarrow 11 \rightarrow33