ACM详解(9)——其他

有时候会考一些锻炼基本能力的题目,下面使用几个例子进行简单分析。
1、IP Address
Description
Suppose you are reading byte streams from any device, representing IP addresses. Your task is to convert a 32 characters long sequence of '1s' and '0s' (bits) to a dotted decimal format. A dotted decimal format for an IP address is form by grouping 8 bits at a time and converting the binary representation to decimal representation. Any 8 bits is a valid part of an IP address. To convert binary numbers to decimal numbers remember that both are positional numerical systems, where the first 8 positions of the binary systems are:
27 26252423 222120
128 6432168 4 2 1
Input
The input will have a number N (1<=N<=9) in its first line representing the number of streams to convert. N lines will follow.
Output
The output must have N lines with a doted decimal IP address. A dotted decimal IP address is formed by grouping 8 bit at the time and converting the binary representation to decimal representation.
Sample Input
4
00000000000000000000000000000000
00000011100000001111111111111111
11001011100001001110010110000000
01010000000100000000000000000001
Sample Output
0.0.0.0
3.128.255.255
203.132.229.128
80.16.0.1
翻译:23位的0/1序列表示可以用来表示一个IP地址,题目要求把给定的32位序列转换为IP地址。例如序列00000011100000001111111111111111可以转换为3.128.255.255。
解题思路:把序列分成8个一组,然后把二进制序列转换为十进制的数,然后把4个数用“.”连接即可。题目比较简单,不再给出参考代码。
2、Elevator
描述
The highest building in our city has only one elevator. A request list is made up with N positive numbers. The numbers denote at which floors the elevator will stop, in specified order. It costs 6 seconds to move the elevator up one floor, and 4 seconds to move down one floor. The elevator will stay for 5 seconds at each stop.
For a given request list, you are to compute the total time spent to fulfill the requests on the list. The elevator is on the 0th floor at the beginning and does not have to return to the ground floor when the requests are fulfilled.
输入
There are multiple test cases. Each case contains a positive integer N, followed by N positive numbers. All the numbers in the input are less than 100. A test case with N = 0 denotes the end of input. This test case is not to be processed.
输出
Print the total time on a single line for each test case.
样例输入
1 2
3 2 3 1
0
样例输出
17
41
翻译:大楼中只有一个电梯,请求序列有N个正整数组成,数字表示电梯将在哪里停,按照顺序。电梯向上一层需要6秒,向下一层需要4秒,每层停5秒。题目要求根据给定的请求序列求出电梯完成所有任务需要的时间。电梯刚开始在0层。
解题思路:使用sum表示总时间,初始值为0。对于每个请求序列,取出每个请求的楼层,如果是请求序列中第一个,计算上楼需要的时间(n*6),然后再加上电梯停留的时间(5),sum=sum+n*6+5。如果不是第一个请求,看上次请求的位置m,如果小于当前位置,计算上楼的时间(n-m)*6,电梯停留时间5,sum=sum+(n-m)*6+5,如果大于当前位置,计算下楼时间(m-n)*4,电梯停留时间5,sum=sum+(m-n)*4+5。
参考代码如下:
/*
* 电梯运行时间
*/
public static void test4(int[] datas){
// 表示原来的楼层
int m = 0;
// 表示总时间
int sum = 0;
for(int i=1;i<=datas[0];i++){
int n = datas[i];
if(n>m){
sum = sum+(n-m)*6+5;
}else{
sum = sum+(m-n)*4+5;
}
m = n;
}
System.out.println(sum);
}
3、集合的减法运算
Problem Description
集合的减法运算。(当然,大家都知道集合的定义,就是同一个集合中不会有两个相同的元素,这里还是提醒大家一下)。
Input
每组输入数据占1行,每行数据的开始是2个整数n(0<n<=100)和m(0<m<=100),分别表示集合A和集合B的元素个数,然后紧跟着n+m个元素,前面n个元素属于集合A,其余的属于集合B. 每个元素为不超出int范围的整数,元素之间有一个空格隔开.
如果n=0并且m=0表示输入的结束,不做处理。
Output
针对每组数据输出一行数据,表示A-B的结果,如果结果为空集合,则输出“NULL”,否则从小到大输出结果,为了简化问题,每个元素后面跟一个空格.
Sample Input
3 3 1 2 3 1 4 7
3 7 2 5 8 2 3 4 5 6 7 8
0 0
Sample Output
2 3
NULL
解题思路:没有难度,就是锻炼基本功。从每个测试用例中分别得到A集合和B集合,遍历A集合中的所有元素,如果不在B集合中,则输出该元素。不再给出参考代码。
ACR122U-A9|ACR1251|ACM1252系列NFC读写器与PCSC Tool的智能卡交互全流程解析 本文详细解析了ACR122U-A9、ACR1251及ACM1252系列NFC读写器与PCSC Tool进行智能卡交互的全流程。从驱动安装、设备连接到使用PCSC Tool发送APDU指令获取卡片UID、判断卡片类型,并最终过渡到编程自动化,提供了完整的实战指南与常见问题排查方案,帮助开发者快速掌握NFC读写器的核心操作。 阅读详情

相关推荐

ACM MM 2025 Overleaf 模板指导

本文介绍了 ACM 文章的排版模板 “acmart” 的使用方法,涵盖了文档结构、格式化规则、数学公式、图像、表格、引用格式以及多语言支持等内容。文章详细说明了如何正确使用 $\LaTeX$ 进行章节划分、插入图表、编写数学公式,并遵循 ACM 期刊和会议论文的格式要求。此外,还包括了 SIGCHI 扩展摘要的特殊格式、附录的使用、致谢部分的编写,以及参考文献的管理方式。本文提供了具体的代码示例和最佳实践,以帮助作者高效地编写符合 ACM 规范的论文。

lemonzjk的博客 1万+

POJ 2105 IP Address (水题)

POJ 2105 IP Address (水题) IP Address Time Limit: 1000MS Memory Limit: 30000K Description Suppose you are reading byte streams from any device, representing IP addresses. Your task is to convert ...

kylinholmes的博客 367

c语言竞赛题目大全(acm)

是c语言的进阶学习,可提高编程能力,可作为ACM竞赛的参考题目

7.6机试练习

描述 Suppose you are reading byte streams from any device, representing IP addresses. Your task is to convert a 32 characters long sequence of ‘1s’ and ‘0s’ (bits) to a dotted decimal format. A dotted decimal format for an IP address is form by grouping 8 bi

qq_53826699的博客 304

博图编写温度程序_s7 smart200的CRC-16校验程序

最近做一个小项目,项目中采用485自由口通讯方式,使用一台西门子S7 smart200对一台冷水机做多个状态和温度做监控,并能对冷水机进行启停控制,和参数设置,因为冷水机的协议不是标准modbus格式,所以要自己编写通信协议。其中要用到CRC校验,在网上找了些别人写的程序,基本上用不了。只能自力更生了。首先,找到CRC校验的算法,并理解。 下面就是我找的算法(这个网上很多),1....

weixin_39539761的博客 3062

硬件电路(22)-TTL和232切换电路

工作中会遇到TTL和232电平的通信的状态,为了实现一种便捷的切换方式,参考了一些文章,提供一种电路方便大家使用。

剑藏锋的博客 1868

ACM 介绍

bool 型:8位,1字节, 范围0~1 (0为假,任何非0值为真)   char 型:8位,1字节, 范围-128~127   int 型:一般32位,4字节,范围21,4748,3648 (大约2*10^9)   long long型:64位,8字节,范围稍大于9x10^18   __int64 型(Win下,VC6) :和long  long 一样   在题目中要估计

代码改变世界 1149

地理空间坐标系统-不同椭球基准间的坐标转换

基于同一个椭球基准,可以构建三类地理空间坐标系:大地球面坐标系、大地空间直角坐标系、大地投影坐标系。由于坐标原点和椭球长短半径等都相同,这三类坐标系之间可以通过无损的数学方法相互之间进行转换。那么现在问题来了,不同椭球基准(在全球范围来看存在成百上千的椭球基准)之间的坐标怎么转换?比如,北京54、西安80、国家2000,特别是在我国,现在主推国家2000坐标系,那么如何将历史的测绘成果(北京54和...

技术改变世界 8336

POJ 2105 IP Address(水题)

题目链接

Chain_xg的专栏 641

深入解析rknn-toolkit2混合量化:如何为RK3588和RK356X选择最佳量化策略

本文深入解析了RKNN-Toolkit2混合量化技术,针对瑞芯微RK3588和RK356X芯片的硬件特性差异,提供了最佳量化策略选择指南。通过混合量化技术,开发者可以在保持较高推理效率的同时显著降低精度损失,特别适用于边缘计算场景。文章详细介绍了混合量化的技术原理、实战流程及芯片专属优化策略,帮助开发者充分利用硬件特性提升模型性能。

dog123的博客 259

《Zephyr OS 入门与实战》第15章:LoRaWAN 集成

【代码】《Zephyr OS 入门与实战》第15章:LoRaWAN 集成。

2301_79143213的博客 610

ACM算法基础-并查集详解

并查集 并查集的作用: 1:将两个集合合并成一个集合 2:询问两个元素是否在同一个集合中 存储的方式: 我们用树的形式来维护所有的集合,每个集合用一颗树来表示 树中根节点的编号就是该集合的编号 用一个fa[]fa[]fa[]数组来存储每一个点的父亲结点 问题: 如何判断树根?x=fa[x]x=fa[x]x=fa[x]; 如何判断每一个点所在的集合编号 while(x!=fa[x])x=fa[x]while(x!=fa[x]) x=fa[x]while(x!=fa[x])x=fa[x]; 如何合并两个集合?将

PengHao666999的博客 1130

YOLOv13安装教程 手把手教你融合空间注意力机制(SAB)的RAB卷积模块 自动“聚焦”重要的特征 map指标提升8.96,准确率提升3.56

本文提出了一种改进的YOLOv13目标检测模型,通过引入RAB(残差注意力模块)显著提升了检测性能。实验结果显示,添加RAB模块后,mAP指标提升了8.96,准确率提高了3.56%。文章详细介绍了RAB模块的实现方法:1)采用多级残差连接增强特征提取能力;2)结合空间注意力机制(SAB)自动聚焦关键区域;3)通过1×1卷积实现通道维度压缩与恢复。同时提供了完整的模型移植方案,包括配置文件修改、任务处理代码调整以及模块实现细节,为YOLO系列模型的性能优化提供了有效参考。

FJN110的博客 647

【ACM】魔方阵的算法与实现

遇见ACM题: 给的提示算法为: 笔者按照以上算法进行三阶模拟运行,发现不能完全推出魔方阵,有兴趣的可以自己尝试! 于是上百度搜索相关内容,如下: 参考来源:https://baike.baidu.com/item/%E9%AD%94%E6%96%B9%E9%98%B5/10973743?fr=aladdin#reference-[2]-667337-wrap 可见实现方...

风云千樯、 642

毕设帮扶:从0到1搭建基于YOLOv5的打架斗殴检测系统——助你搞定深度学习毕设

做完这个毕设,你已经掌握了从数据准备到模型部署、界面开发的全流程。把模型部署到边缘设备(如安防摄像头的嵌入式系统)上,实现本地化实时检测与报警;加入行为严重程度分析(如轻微推搡 vs 严重斗殴)、涉事人员数量统计,让系统从“检测”升级为“智能安防决策”;尝试融合声音、红外等多模态数据,打造全方位的暴力事件监测系统。按照这个教程一步步做,你的毕设肯定能做得很扎实。要是过程中遇到啥问题,别担心,慢慢梳理或者咱们一起聊聊,一定能把这个毕设做成你满意的作品。

LXY_LOVE36的博客 122

多 Agent 之间如何通信和协调?OpenClaw 的 Gateway 在其中扮演什么角色?

多 Agent 之间如何通信和协调?OpenClaw 的 Gateway 在其中扮演什么角色?

我哎GIS博客 1665

RK3568 Linux + GD32F303 双 USB CDC-ACM 虚拟串口 原理与编程实战总结

根因开启校验必须设 9 位数据位(8 位数据 + 1 位校验位)解决方案:配置函数中自动将数据位 + 1,强制切换 9 位模式架构:RK3568 + GD32F303 单 USB 实现双路虚拟串口,方案稳定通用GD32F303 硬件:开启奇偶校验 → 数据位必须设为 9 位核心 BUG 修复:USB 重配置串口参数后,必须重启接收中断Linux 适配:双 CDC 自动生成双 ttyACM 节点,两次配置请求直接覆盖即可。

qq_40883489的博客 692

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

ACM如何入门,ACM竞赛需要学习哪些算法?

适合小白、想参加蓝桥杯,ACM省赛,ACM区域赛,准备面试编程题的同学

Accepted 2万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

linux ACM驱动详解

Module_init中会注册tty_driver,tty_device会在acm usb_driver的probe中注册。 每个ACM设备都由2个Interface组成,第一个interface有一个interrupt endpoint主要负责控制,第二个interface主要负责数据传输,有2个endpoint,有可能是两个int,也有可能是2个bulk。他们都是成对出现的。 比如: 这

知秋一叶 1万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

面试 | Java 算法的 ACM 模式

经常在 LeetCode 上用核心代码模式刷题的小伙伴突然用 ACM 模式可能会适应不过来,把时间花在输入输出上很浪费时间,因此本篇笔记对 Java 算法的 ACM 模式做了个小总结;

多氯环己烷的博客 2万+
上一篇: ACM详解(8)——加密
下一篇: ACM详解(10)——辽宁省赛(上)
Java_Web_Book
博客等级 码龄18年 8粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值