4键键盘(Leetcode651)
思路:动态规划
题目中提到的有四个按键,但实际上,我们可以压缩为2个选择,因为对于最优解,Ctrl+V一定在Ctrl+A-Ctrl+C两个按键后
【dp数组含义】:按键i次后屏幕显示dp[i]个A
【状态】:剩余可按键数量N
【选择】:
①按A;
②按Ctrl+V(需通过额外变量j来确定Ctrl+C的位置,从而确定剪贴板中A的个数dp[j - 2])
【状态转移方程】:dp[i] = max(dp[i - 1] + 1, dp[j - 2] * (i - j + 1));
#include <iostream>
#include <vector>using namespace std;int maxA(int N) {// dp数组含义:按键i次后屏幕显示dp[i]个Avector<int> dp(N + 1, 0);// 压缩为2个选择 → [1]按A;[2]按Ctrl-V (包含前方必有的Ctrl-A + Ctrl-C)for (int i = 1; i <= N; i++) {// [1]按Adp[i] = dp[i - 1] + 1;// [2]按Ctrl-V (包含前方必有的Ctrl-A + Ctrl-C)//(需通过额外变量j来确定Ctrl+C的位置,从而确定剪贴板中A的个数dp[j - 2]))for (int j = 2; j < i; j++) // dp[j - 2]表示剪贴板中A的个数,减去的2即为CA + CC两个组合键dp[i] = max(dp[i], dp[j - 2] * (i - j + 1)); // 最多可按(i-j)次C_V,还要加上本身,所以可以看做可按(i - j + 1)个Ctrl-V}return dp[N];}int main(){int res=maxA(499);cout<<res<<endl;
}
4键键盘(Leetcode651)相关推荐
- 【华为OD机试真题 python】 5键键盘【2022 Q4 | 100分】
■ 题目描述 [5键键盘] 有一个特殊的5键键盘,上面有a,ctrl-c,ctrl-x,ctrl-v,ctrl-a五个键. a键在屏幕上输出一个字母a:ctrl-c将当前选择的字母复制到剪贴板: ct ...
- 67键键盘如何输出`和~符号(一百五十一)
1.使用需求 因为67键键盘符合黄金分割,看上去特别舒服,但是在使用67键蓝牙键盘的时候,因为最上一排没有F1.F2...等,所以需要输出F1.F2需要借助Fn键 . 但是需要输出的特殊的" ...
- 计算机各键的名称和作用,space是哪个键键盘各键位名称及功用详解
摘要 腾兴网为您分享:space是哪个键键盘各键位名称及功用详解,之了课堂,云南移动,宜信,学堂在线等软件知识,以及winrar安卓,国泰君安大智慧5,邮政app,骑驴网,s2520打印机,b站,我的 ...
- 华为od统一考试B卷【5键键盘】Java 实现
所有题目均有五种语言实现.C实现目录.C++ 实现目录.Python实现目录.Java实现目录.JavaScript实现目录 题目 [5键键盘] 有一个特殊的5键键盘,上面有a,c ...
- 【华为OD统一考试B卷 | 100分】5键键盘(C++ Java JavaScript Python)
华为OD统一考试A卷+B卷 新题库说明 2023年5月份,华为官方已经将的 2022/0223Q(1/2/3/4)统一修改为OD统一考试(A卷)和OD统一考试(B卷). 你收到的链接上面会标注A卷还是 ...
- 87键键盘实现小键盘数字/键盘改建软件
由于本人用的是87键键盘,缺失小键盘,有时玩游戏又需要小键盘,买个外接的小键盘又麻烦,所以百度找了一个改键软件,经过火绒检查无毒无害,如下>>>>>>>> ...
- 华为OD机试题 - 五键键盘(JavaScript)| 含思路
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单 华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典 [华为OD机试]全流程解析+经验分享,题型分 ...
- 华为OD机试 - 5键键盘
题目描述 有一个特殊的5键键盘,上面有a,ctrl-c,ctrl-x,ctrl-v,ctrl-a五个键. a键在屏幕上输出一个字母a: ctrl-c将当前选择的字母复制到剪贴板: ctrl-x将当前选 ...
- 【华为机试真题 JAVA】5键键盘的输出-100
题目描述 有一个特殊的5键键盘,上面有a,ctrl-c,ctrl-x,ctrl-v,ctrl-a五个键.a键在屏幕上输出一个字母a:ctrl-c将当前选择的字母复制到剪贴板:ctrl-x将当前选择的字 ...
最新文章
- OpenFeign服务接口调用
- linux内存管理 之 内存节点和内存分区(Zone)
- 排序中减治法算法伪代码_【算法与数据结构】伪代码与流程图
- 顺时针或逆时针旋转180度等于先作一个水平镜像,再作一个垂直镜像
- #CSS# 初识CSS
- Oracle Class4. 数据库对象(同义词,序列,视图,索引,簇)
- 英伟达赚钱能力创历史新高,老黄:GPU供不应求我也很急
- 2017百度之星资格赛题解(1003、1004)
- 从应用工程师的角度再谈车载 Android 系统
- 第3章-线性概率模型(1)-logistics/probit模型
- Unity报错之【发布UWP显示“Could not find any supported UWP SDK installations”】
- 名帖299 王铎 行书《书法册页李贺诗四首》
- html怎么实现计算bmi,利用Javascript实现BMI计算器
- 计算机毕业设计SSM_旅游系统【附源码数据库】
- android 阿拉伯语符号,阿拉伯文符号
- Nginx配置支持mp4视频流播放,超简单
- Eth-trunk :LACP模式链路聚合实战
- 重装系统后开机黑屏显示cannot load file怎么办
- 计算机网络局域网的组建实验报告,《计算机网络》局域网的组建与测试实验报告...
- stm32f1_MCP41010_正相放大器