Bootstrap

蓝桥杯真题

[蓝桥杯 2013 国 A] 约数倍数选卡片

题目描述

闲暇时,福尔摩斯和华生玩一个游戏:

N N N 张卡片上写有 N N N 个整数。两人轮流拿走一张卡片。要求下一个人拿的数字一定是前一个人拿的数字的约数或倍数。例如,某次福尔摩斯拿走的卡片上写着数字“ 6 6 6 ”,则接下来华生可以拿的数字包括:

1 1 1 2 2 2 3 3 3 6 6 6 12 12 12 18 18 18,$24 \cdots $。

当轮到某一方拿卡片时,没有满足要求的卡片可选,则该方为输方。

请你利用计算机的优势计算一下,在已知所有卡片上的数字和可选哪些数字的条件下,怎样选择才能保证必胜!

当选多个数字都可以必胜时,输出其中最小的数字。如果无论如何都会输,则输出 − 1 -1 1

输入格式

输入数据为 2 2 2 行。第一行是若干空格分开的整数(每个整数介于 1 ∼ 100 1 \sim 100 1100 间),表示当前剩余的所有卡片。

第二行也是若干空格分开的整数,表示可以选的数字。当然,第二行的数字必须完全包含在第一行的数字中。

输出格式

程序则输出必胜的招法!!

样例 #1

样例输入 #1

2 3 6
3 6

样例输出 #1

3

样例 #2

样例输入 #2

1 2 2 3 3 4 5
3 4 5

样例输出 #2

4

提示

时限 1 秒, 64M。蓝桥杯 2013 年第四届国赛


[蓝桥杯 2015 国 AC] 切开字符串

题目描述

Pear 有一个字符串,不过他希望把它切成两段。

这是一个长度为 N N N($ \le 10^5$)的字符串。

Pear 希望选择一个位置,把字符串不重复不遗漏地切成两段,长度分别是 t t t N − t N-t Nt(这两段都必须非空)。

Pear 用如下方式评估切割的方案:

定义“正回文子串”为:长度为奇数的回文子串。

设切成的两段字符串中,前一段中有 A A A 个不相同的正回文子串,后一段中有 B B B 个不相同的非正回文子串,则该方案的得分为 A × B A \times B A×B

注意,后一段中的 B B B 表示的是:“ … 非正回文 … ”,而不是:“ … 正回文 … ”。

那么所有的切割方案中, A × B A \times B A×B 的最大值是多少呢?

输入格式

输入第一行一个正整数 N N N($ \le 10^5$)

接下来一行一个字符串,长度为 N N N。该字符串仅包含小写英文字母。

输出格式

一行一个正整数,表示所求的 A × B A \times B A×B 的最大值。

样例 #1

样例输入 #1

10
bbaaabcaba

样例输出 #1

38

提示

对于 20 % 20\% 20% 的数据, N ≤ 100 N \le 100 N100

对于 40 % 40\% 40% 的数据, N ≤ 1000 N \le 1000 N1000

对于 100 % 100\% 100% 的数据, N ≤ 1 0 5 N \le 10^5 N105

时限 1 秒, 512M。蓝桥杯 2015 年第六届国赛


[蓝桥杯 2020 国 ABC] 皮亚诺曲线距离

题目描述

皮亚诺曲线是一条平面内的曲线。

下图给出了皮亚诺曲线的 1 阶情形, 它是从左下角出发, 经过一个 3 × 3 3 \times 3 3×3 的 方格中的每一个格子, 最终到达右上角的一条曲线。

下图给出了皮亚诺曲线的 2 阶情形, 它是经过一个 3 2 × 3 2 3^{2} \times 3^{2} 32×32 的方格中的每一 个格子的一条曲线。它是将 1 阶曲线的每个方格由 1 阶曲线替换而成。

下图给出了皮亚诺曲线的 3 阶情形, 它是经过一个 3 3 × 3 3 3^{3} \times 3^{3} 33×33 的方格中的每一 个格子的一条曲线。它是将 2 阶曲线的每个方格由 1 阶曲线替换而成。

皮亚诺曲线总是从左下角开始出发, 最终到达右上角。

我们将这些格子放到坐标系中, 对于 k k k 阶皮亚诺曲线, 左下角的坐标是 ( 0 , 0 ) (0,0) (0,0), 右上角坐标是 ( 3 k − 1 , 3 k − 1 ) \left(3^{k}-1,3^{k}-1\right) (3k1,3k1), 右下角坐标是 ( 3 k − 1 , 0 ) \left(3^{k}-1,0\right) (3k1,0), 左上角坐标是 ( 0 , 3 k − 1 ) \left(0,3^{k}-1\right) (0,3k1)

给定 k k k 阶皮亚诺曲线上的两个点的坐标, 请问这两个点之间, 如果沿着皮 亚诺曲线走, 距离是多少?

输入格式

输入的第一行包含一个正整数 k k k, 皮亚诺曲线的阶数。

第二行包含两个整数 x 1 , y 1 x_{1}, y_{1} x1,y1, 表示第一个点的坐标。 第三行包含两个整数 x 2 , y 2 x_{2}, y_{2} x2,y2, 表示第二个点的坐标。

输出格式

输出一个整数, 表示给定的两个点之间的距离。

样例 #1

样例输入 #1

1
0 0
2 2

样例输出 #1

8

样例 #2

样例输入 #2

2
0 2
0 3

样例输出 #2

13

提示

对于 30 % 30 \% 30% 的评测用例, 0 ≤ k ≤ 10 0 \leq k \leq 10 0k10

对于 50 % 50 \% 50% 的评测用例, 0 ≤ k ≤ 20 0 \leq k \leq 20 0k20

对于所有评测用例, 0 ≤ k ≤ 100 , 0 ≤ x 1 , y 1 , x 2 , y 2 < 3 k , x 1 , y 1 , x 2 , y 2 ≤ 1 0 18 0 \leq k \leq 100,0 \leq x_{1}, y_{1}, x_{2}, y_{2}<3^{k}, x_{1}, y_{1}, x_{2}, y_{2} \leq 10^{18} 0k100,0x1,y1,x2,y2<3k,x1,y1,x2,y21018 。 数据保证答案不超过 1 0 18 10^{18} 1018

蓝桥杯 2020 年国赛 A 组 F 题(B 组 F 题, C 组 H 题)。

;