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 人中每个人的***排名是由以下程序决定的:

  1. 准备一个变量 r r r ,并初始化 r = 1 r = 1 r=1 。初始化时, N N N 人的排名都是未确定的。
  2. 重复下面的操作,直到确定所有 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) 人的等级确定如下:

  1. 准备一个变量 r r r 并初始化 r = 1 r=1 r=1 。起初,所有 4 4 4 人的排名都是未确定的。
  2. 目前, 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 。
  3. 目前, 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 。
  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 。
  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) 。


感谢观看!!!

相关推荐
AI迅剑2 分钟前
模块二:C++核心能力进阶(5篇)篇二:《多线程编程:C++线程池与原子操作实战》(14万字深度指南)
java·开发语言·c++
代码的余温8 分钟前
Java原子类:CAS与volatile的无锁奥秘
java·开发语言·线程安全
oioihoii11 分钟前
C++中锁与原子操作的区别及取舍策略
java·开发语言·c++
Mikhail_G14 分钟前
Python应用continue关键字初解
大数据·运维·开发语言·python·数据分析
Code_流苏23 分钟前
Python趣学篇:从零打造智能AI井字棋游戏(Python + Tkinter + Minimax算法)
python·算法·游戏·tkinter·智能井字棋·minimax算法
理智的灰太狼33 分钟前
题目 3230: 蓝桥杯2024年第十五届省赛真题-星际旅行
算法·职场和发展·蓝桥杯
wcjwdq34 分钟前
“顶点着色器”和“片元着色器”是先处理完所有顶点再统一进入片元阶段,还是一个顶点处理完就去跑它的片元?
算法·着色器
技术帮扶户41 分钟前
Leetcode-7 寻找用户推荐人
算法·leetcode·职场和发展
VU-zFaith8701 小时前
C++概率论算法详解:理论基础与实践应用
c++·算法·概率论
全栈凯哥1 小时前
Java详解LeetCode 热题 100(23):LeetCode 206. 反转链表(Reverse Linked List)详解
java·算法·leetcode·链表