纪中2019暑假培训(7.5)

本文记录了一场编程竞赛的经历,包括四个题目:交换、解压字符串、楼梯和好数的解题思路及成绩。通过模拟和动态规划等策略,作者分享了解决问题的过程与心得。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

啊!竟然又跟之前的“学姐”住到了一个宿舍。

M o r n i n g Morning Morning

今天难得的起的挺早,买了一个面包,就去机房了。

题目

T1:交换

有两个只含有“R”“G”“B”的字符串,字符数都不超过50,且任意两个相邻的字符都不相同。
我们可以在每个字符串中各选一个字符,进行交换。问有多少种交换方式,使两个字符串内都各有3个连续且相同的字符。

T2:解压字符串

我们要还原一个字符串。字符串可能会出现这样的格式:k(q),它表示字符串q重复了k次,其中q是0个或多个字符,而k是一个数字,范围是0至9。
我们只要把这样的格式全部展开,就还原成功了。
求还原后字符串的长度。

T3:楼梯

有N级楼梯,第i级楼梯的高度是H[i]。你必须通过一系列的操作来爬楼梯,每一步,你只能做如下三个选择之一:

  1. 如果后一级楼梯的高度比你当前所在楼梯的高度恰好高1,那么你可以从当前楼梯爬上后一级楼梯。
  2. 只要你不是在第1级楼梯,如果你愿意,你可以从当前楼梯后退到前一级楼梯。
  3. 假如你最近K步都是在后退(不妨假设现在退到了第i级楼梯),那么你可以从当前的第i级楼梯走一步到达第j级楼梯,其中j > i,而且 满足H[j] – H[i] <= 2K。其中2K表示2的K次方。

你一开始在第1级楼梯,你至少要走多少步才能到达第N级楼梯?如果无法到达第N级楼梯,输出-1。

T4:好数

对于一个正整数X,如果把X化成二进制数后,如果X的二进制数至少有三个连续的1或者至少有3个连续的0(不能有前导0),那么X就是“好数”。
现在给出两个整数Low、UP,求Low和UP范围内有多少个“好数”。

成绩(有算其它大佬)

ranknamescoreT1T2T3T4
8 l y f lyf lyf3001001001000
11 h k y hky hky280100100800
12 w j j wjj wjj2701001001060
12 l t h lth lth270100701000
28 f y fy fy210100100100
28 t j h tjh tjh210100100100
57 c y z cyz cyz1601006000
67 c w h cwh cwh12010010100
82 w h d whd whd20010100

思路

第一题:模拟,打了一会就过了。
第二题:还是模拟,打了一会又过了。
第三题:看出来是动态规划,但是不知道怎么做。瞎做了一个竟然水到了10分。
第四题:一看就不会做,果断放弃。

A f t e r n o o n Afternoon Afternoon

听课加改题。
竟然该出了第三题。

E v e n i n g Evening Evening

改题,并且写博客。
题目还是改不出来,但是好像快了,明天应该能改出来。

后 续 后续

啊!果然在明天把第四题给A了。

做出来的题目博客

交换
解压字符串
楼梯
好数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值