关注
第三题是这么个意思吗 """ 老王打字: 输入一个字母,步数加1; 选定全部已输入字符,步数加2; 复制全部选定字符,步数加2; 粘贴全部复制字符,步数加2; 按ESC取消选择,步数加1; 问:输入N个字最少需要多少步。 """ # 输入 n = int(input().strip()) dp = [0 for _ in range(n+1)] dp[0] = 0 # 首先确定,最后一次操作要么是输入,要么是粘贴 for i in range(1, n+1): # 1. 最后1步是输入的最小值 dp[i] = dp[i-1]+1 # 2. 最后1步是粘贴的最小值,因为可以多次粘贴,所以需要循环找最后几步都是粘贴的情况, for j in range(2,int(i/2)): # 首先要满足i个字符是j的倍数(一次全选,然后多次粘贴) if i%j != 0: continue # 粘贴j个字符,说明在dp[j]的时候做了全选的操作(+2),取消选择后粘贴是为了避免覆盖掉前面的内容(+1),然后粘贴(i-j)/j次(+((i-j)/j)*2) dp[i] = min(dp[i], int(dp[j]+2+1+((i-j)/j)*2)) # 输出 print(dp[n])
点赞
相关推荐
02-23 16:52
华南理工大学 自然语言处理 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你的实习产出是真实的还是包装的? #
35388次浏览 433人参与
# 网申一定要掌握的小技巧 #
20346次浏览 83人参与
# 厦门银行科技岗值不值得投 #
15726次浏览 359人参与
# 学历VS实习,哪个更重要? #
1930次浏览 53人参与
# uu们,春招你还来吗? #
63385次浏览 747人参与
# 一人一道大厂面试题 #
124885次浏览 1301人参与
# 面试中,你被问过哪些奇葩问题? #
96337次浏览 1273人参与
# 面试被问到不会的问题,你怎么应对? #
26044次浏览 658人参与
# 你都用vibe coding做过什么? #
22072次浏览 820人参与
# 面试紧张时你会有什么表现? #
34122次浏览 211人参与
# 你觉得大几开始实习最合适? #
30214次浏览 313人参与
# 你见过哪些招聘隐形歧视? #
25116次浏览 214人参与
# AI Coding实战技巧 #
15485次浏览 299人参与
# 哔哩哔哩笔试 #
35155次浏览 142人参与
# 工作上你捅过哪些篓子? #
68368次浏览 316人参与
# 如果人生可以debug你会改哪一行? #
13067次浏览 167人参与
# 你现在一天AI几次? #
13484次浏览 137人参与
# 机械人,签完三方你在忙什么? #
83940次浏览 266人参与
# 你的实习什么时候入职 #
366840次浏览 2356人参与
# Claude Code泄露源码 #
15754次浏览 212人参与
# 机械人你觉得今年行情怎么样? #
7892次浏览 96人参与
查看18道真题和解析