2024.9.16上午校测

T1

题目描述

首先,让我们来一道萌萌哒的并查集吧。

你有 n 个萌萌哒元素。每个元素都单独在一个集合中。同时,我们有 n1 个操作,每次合并两个元素所在的集合,保证合并前两个元素位于不同的集合。

现在有 m 个询问 (x,y),每次询问需要你输出元素 x,y 第一次位于同一集合是第几次操作后。

输入格式

第一行两个数 n,m

接下来 n1 行每行两个数 x,y,表示合并操作。

接下来 m 行表示询问。

输出格式

对于每一个询问,输出一个数表示答案。

输入样例

3 3
1 2
2 3
1 1
1 2
1 3

输出样例

0
1
2

数据规模

对于 40% 数据,n10000,m10000

对于 100% 数据,n105,m105

T2

题目描述

然后再来一道裸裸的模板题。

给你两个 1n 排列,请求出它们的 LCS。

输入格式

第一行一个数 n

2,3 行分别 n 个数表示两个排列。

输出格式

一行表示答案。

输入样例

3
1 2 3
1 3 2

输出样例

2

数据规模

对于 20% 数据,n1000

对于 100% 数据,n100000

T3

题目描述

现在你要实现一个文件系统,支持以下操作:


cd Directory_Name

如果当前路径下有名为 Directory_Name 的文件夹,则进入该文件夹所对应的路径。

否则输出 No such directory!


cd ..

如果当前路径存在父路径,则返回父路径。

否则输出 No parent directory!


touch File_Name

如果当前目录下存在名为 File_Name 的文件则输出 File already exists!,否则创建这样一个文件。


rm File_Name

如果当前目录下存在名为 File_Name 的文件则删除它,否则输出 No such file!


mkdir Directory_Name

如果在当前路径下存在名为 Directory_Name 的文件夹,则输出 Directory already exists!,否则创建一个这样一个文件夹(当前路径不变)。


rmdir Directory_Name

如果在当前路径下存在名为 Directory_Name 的文件夹,则删除之,否则输出 No such directory!

ls

列出当前路径下所有的文件和文件夹,每一项占一行,按创建的先后顺序给出。

采用一下形式输出:

Item_Name <Type>

TypeD(文件夹)或 F(文件)

注意:同一路径下文件与文件夹可以重名,但同一路径下文件与文件,文件夹与文件夹不能重名。

初始时当前路径处于根路径下,无父路径。

输入格式

每个文件一组数据。

第一行为 Q,表示有 Q 个操作。

接下来是 Q 行,每行输入为以上描述的操作之一。

文件与文件夹的名称为小写字母,且最长为 10

输出格式

输出与操作对应

输入样例1

3
mkdir standy
touch totalfrank
ls

输出样例1

standy <D>
totalfrank <F>

输入样例2

6
mkdir standy
cd standy
touch totalfrank
cd ..
rm totalfrank
ls

输出样例2

No such file!
standy <D>

数据规模

对于 10% 数据,Q10

对于 100% 数据,Q100

posted @   JPGOJCZX  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示