0.前言
做题人:黄铄翔(2024.10.2)
T1 100分 T2 10分 T3 0分 T4 10分;补体后满分。
比赛时,T1使用9min T2使用2h 其他均使用骗分的方法拿到部分分
1.IP地址
问题描述
IP地址(Internet Protocol Address)是互联网上用于识别和定位设备的数字标识。它是一种由32位或128位二进制数字组成的地址,在IPv4和IPv6两个主要版本中使用。
IP地址的主要功能是标识和寻址设备,使其能够在互联网上进行通信。通过将IP地址分配给计算机、服务器、路由器和其他网络设备,数据包可以被正确地发送到目标设备。IP地址还用于确定网络中不同设备的位置,以便进行网络管理和故障排除。
总之,IP地址是互联网上用于标识和定位设备的数字标识,使设备能够在互联网上进行通信。IP地址的外观根据其版本而有所不同。以下是IPv4和IPv6两个主要版本的IP地址中IPv4地址示例:
接下来,我们有 个设备,每个设备都有它的名称和IPv4地址,现在我们有 个问题,每次我们想知道给出的IPv4地址是哪一个设备?
输入格式
第一行,一个正整数 ,表示有 个设备;
接下去 行,首先输入该设备的名称,数据保证该设备的名称只由英文大小写组成,其次再输入该设备的IPv4地址;
接下去一行,输入一个正整数 ,表示有 次询问;接下去 行,每行一个IPv4地址。
输出格式
对于 次询问,每次询问输出该IPv4地址对应的设备名称。
192.168.0.1
172.16.254.1
10.0.0.1
208.75.57.100
AC代码:
题解:使用模拟在用map减少时间复杂度
总结反思:比较字符串的时间复杂度为n,会大大降低时间,以后遇到这种题目要使用map降低时
间复杂度,防止时间超限。
2.是否同构
问题描述
有两个长度为 的数组 ,我们想知道数组 和数组 是否是同构数组?
我们定义两个数组 同构,则存在一个整数 ,使得 ,有保持数组 不动的时候,交
换数组 的前 项和后 项交换位置,即
,使得新的数组 完
全相等于数组 。
输入格式
第一行输入一个正整数 ,表示有 组输入;每组输入的第一行,输入一个正整数 ;
第二行输入 个整数,表示数组 ;
第三行输入 个整数,表示数组 。
输出格式.
如果数组 和数组 同构,则输出 Yes ,否则,输出 No 。
AC代码:
思路:先找到k,交换数组元素,在进行比较数组得出结果。
总结反思:对这种数据量大的题目,不要纯模拟,转换思维模式,
降低时间复杂度,防止时间超限
3.箱子
【题目描述】
我们有 N个箱子,每个箱子有自己的重量wi,每次我们可以将至多 M 个箱子合并成一个重量为这几个箱子重量和的箱子,花费的体力是这合并的几个箱子的重量和。请问我们将这所有的箱子合并成一个箱子所需要花费的最少体力是多少?
【输入格式】
第一行,两个正整数 N ,M ,表示有 N 个箱子,每次操作至多可以合并 M 个箱子。
第二行,N 个正整数,表示这 N 个箱子每个箱子的重量。
【输出格式】
输出一个正整数,表示我们最少需要花费的体力是多少。
AC代码:
思路:经过思考可以得出,每次选择尽可能小的箱子是最优的,sort排序之后使用一个队列模拟即可。
总结反思:如有数组很难模拟的题目,可以用栈,队列来进行模拟。
总结:
本场比赛中在第二题的程序遍历上出现失误,耗时较长,导致了本场比赛后
面3,4题没有充足的时间思考思路。今后比赛需要多多注意细节问题,不要再简单的地方出错耽误
时间,为后面的题目尽量争取思考思路需要的充足的时间,避免这次比赛的问题再次发生。