AtCoder Beginner Contest 399题目翻译
以下是AtCoder Beginner Contest 399前四题的题目翻译:
A - Hamming Distance
问题陈述
给你一个正整数 N N N 和两个字符串 S S S 和 T T T ,每个字符串的长度为 N N N ,由小写英文字母组成。
求 S S S 和 T T T 之间的汉明距离。也就是说,求 i i i 中, 1 ≤ i ≤ N 1 \leq i \leq N 1≤i≤N 和 S S S 的 i i i 个字符与 T T T 的 i i i 个字符不同的整数个数。
限制因素
- 1 ≤ N ≤ 100 1\leq N \leq 100 1≤N≤100
- N N N 是整数。
- S S S 和 T T T 都是长度为 N N N 的字符串,由小写英文字母组成。
输入
输入内容由标准输入法提供,格式如下
N N N
S S S
T T T
输出
打印答案。
输入样本 1
6
abcarc
agcahc
样本输出 1
2
S S S 和 T T T 在第 2 个和第 5 个字符上不同,但在其他字符上没有不同。因此,答案是 2 2 2 。
输入样本 2
7
atcoder
contest
输出示例 2
7
B Ranking with Ties
问题陈述
标记为 1 1 1 至 N N N 的 N N N 人参加了某项竞赛。 i i i ( 1 ≤ i ≤ N 1 \leq i \leq N 1≤i≤N )的**得分是{9556445}。
在这次比赛中, N N N 人中每个人的***排名是由以下程序决定的:
- 准备一个变量 r r r ,并初始化 r = 1 r = 1 r=1 。初始化时, N N N 人的排名都是未确定的。
- 重复下面的操作,直到确定所有 N N N 人的等级:
- 设 x x x 是目前等级未定的人中的最高分,设 k k k 是得分是 x x x 的人数。确定得分为 x x x 的 k k k 人的等级为 r r r ,然后将 k k k 加到 r r r 。
限制因素
- 1 ≤ N ≤ 100 1 \le N \leq 100 1≤N≤100
- 1 ≤ P i ≤ 100 1\le Pi \leq 100 1≤Pi≤100
- 所有输入值均为整数。
打印出每个 N N N 人的排名。
输入
输入内容由标准输入法提供,格式如下
N N N
P 1 P_1 P1 P 2 P_2 P2 … \dots … P N P_N PN
输出
打印 N N N 行。 i i i -th 行( 1 ≤ i ≤ N 1 \leq i \leq N 1≤i≤N )应包含一个整数,即 i i i 人的职级。
输入样本 1
4
3 12 9 9
样本输出 1
4
1
2
2
N ( = 4 ) N\\ (=4) N(=4) 人的等级确定如下:
- 准备一个变量 r r r 并初始化 r = 1 r=1 r=1 。起初,所有 4 4 4 人的排名都是未确定的。
- 目前, 1 , 2 , 3 , 4 1, 2, 3, 4 1,2,3,4 人的排名尚未确定。其中最高分是 P 2 ( = 12 ) P2(=12) P2(=12) 。因此,确定 2 2 2 的等级为 r ( = 1 ) r(=1) r(=1) ,然后在 r r r 上加上 1 1 1 ,得到 r = 2 r=2 r=2 。
- 目前, 1 , 3 , 4 1, 3, 4 1,3,4 人的等级尚未确定。他们中的最高分是 P 3 = P 4 ( = 9 ) P3=P4(=9) P3=P4(=9) 。因此,确定 3 3 3 和 4 4 4 的等级为 r ( = 2 ) r(=2) r(=2) ,然后在 r r r 上加上 2 2 2 ,即为 r = 4 r=4 r=4 。
- 目前, 1 1 1 的排名尚未确定。其中的最高分是 P 1 ( = 3 ) P1(=3) P1(=3) 。因此,确定 1 1 1 的等级为 r ( = 4 ) r(=4) r(=4) ,然后将 1 1 1 加到 r r r ,得出 r = 5 r=5 r=5 。
- 现在所有 4 4 4 人的等级都已确定,因此过程结束。
输入样本 2
3
3 9 6
输出示例 2
3
1
2
C - Make it Forest
问题陈述
给你一个简单的无向图,图中有 N N N 个顶点和 M M M 条边,顶点的标记为 1 1 1 到 N N N 。 i i i -th 边连接顶点 KaTeX parse error: Expected 'EOF', got '&' at position 3: u &̲#95; i 和 KaTeX parse error: Expected 'EOF', got '&' at position 3: v &̲#95; i 。
要使该图成为森林图,至少需要删除多少条边?
什么是森林?当且仅当 F F F 不包含任何循环时,简单无向图 F F F 才称为森林图。
限制因素
- 1 ≤ N ≤ 2 × 10 5 1 \leq N \leq 2 \times 10^5 1≤N≤2×105
- 0 ≤ M ≤ min ( N ( N − 1 ) 2 , 2 × 10 5 ) 0 \leq M \leq \min \left( \frac{N(N-1)}{2}, 2 \times 10^5\right) 0≤M≤min(2N(N−1),2×105)
- 1 ≤ u i < v i ≤ N 1 \le ui < vi \le N 1≤ui<vi≤N
- 给定的图形很简单。
- 所有输入值均为整数。
输入
输入内容由标准输入法提供,格式如下
N N N M M M
u 1 u_1 u1 v 1 v_1 v1
u 2 u_2 u2 v 2 v_2 v2
⋮ \vdots ⋮
u M u_M uM v M v_M vM
输出
打印答案。
输入样本 1
4 4
1 2
1 3
2 4
3 4
样本输出 1
1
例如,如果删除第一条边,图形就会变成森林。
输入样本 2
5 0
输出示例 2
0
D - Switch Seats
问题陈述
N N N 对夫妇排成一排就座。
数一数有多少对情侣原本都不挨着坐,而这四对情侣通过交换座位最终都能挨着坐。
有一个长度为 2 N 2N 2N 的序列 A = ( A 1 , A 2 , … , A 2 N ) A = ( A~1~ , A~2~, \dots, A~2N~ ) A=(A 1 ,A 2 ,…,A 2N ) 。在 A A A 中,每个整数 1 , 2 , … , N 1, 2, \dots, N 1,2,…,N 恰好出现两次。
求满足 1 ≤ a < b ≤ N 1 \le a < b \leq N 1≤a<b≤N 和以下所有条件的整数对 ( a , b ) (a, b) (a,b) 的个数:
- 在 A A A 中, a a a 的两次出现不相邻。
- 在 A A A 中出现的 b b b 不相邻。
- 按照任意顺序进行一次或多次下面的操作,就有可能达到这样的状态: A A A 中 a a a 的两个出现点是相邻的, A A A 中 b b b 的两个出现点也是相邻的。
- 选择一对整数 ( i , j ) (i, j) (i,j) ( 1 ≤ i ≤ 2 N , 1 ≤ j ≤ 2 N 1 \le i \le 2N, 1 \le j \le 2N 1≤i≤2N,1≤j≤2N ),使得 A i = a Ai = a Ai=a 和 A j = b Aj = b Aj=b ,并将 A i Ai Ai 与 A j Aj Aj 交换。
给你 T T T 个测试用例,请逐个求解。
限制因素
- 1 ≤ T ≤ 2 × 10 5 1 \leq T \leq 2 \times 10^5 1≤T≤2×105
- 1 ≤ N ≤ 2 × 10 5 1 \leq N \leq 2 \times 10^5 1≤N≤2×105
- 1 ≤ A i ≤ N 1 \leq A_i \leq N 1≤Ai≤N
- 每个 1 , 2 , … , N 1, 2, \dots, N 1,2,…,N 在 A A A 中恰好出现两次。
- 所有测试用例中 N N N 的总和最多为 2 × 10 5 2 \times 10^5 2×105 。
- 所有输入值均为整数。
输入
输入内容由标准输入法提供,格式如下,其中 c a s e i \mathrm{case}_i casei 表示 i i i -th 测试用例:
T T T
c a s e 1 \mathrm{case}_1 case1
c a s e 2 \mathrm{case}_2 case2
⋮ \vdots ⋮
c a s e T \mathrm{case}_T caseT
每个测试用例的格式如下:
N N N
A 1 A_1 A1 A 2 A_2 A2 … \dots … A 2 N A_{2N} A2N
输出
打印 T T T 行。 i i i -th 行应包含 i i i -th 测试用例的答案。
输入样本 1
3
3
1 2 3 3 1 2
4
1 1 2 2 3 3 4 4
5
1 2 3 4 5 1 2 3 4 5
样本输出 1
1
0
4
请看第一个测试案例。
( a , b ) = ( 1 , 2 ) (a, b) = (1, 2) (a,b)=(1,2) 满足问题陈述中的条件,理由如下:
- A A A 中出现的两个 1 1 1 不相邻。
- 2 2 2 在 A A A 中的两次出现不相邻。
- 在 ( i , j ) = ( 1 , 6 ) (i, j) = (1, 6) (i,j)=(1,6) 中执行操作,将 A 1 A_1 A1 与 A 6 A_6 A6 交换,可以得到 1 1 1 的两个出现点相邻, 2 2 2 的两个出现点也相邻的状态。
( 1 , 2 ) (1, 2) (1,2) 是唯一一对满足条件的 ( a , b ) (a, b) (a,b) 。
感谢观看!!!