【SCOI2004】文本的输入
【题目描述】
人们在输入文本时,除了逐个输入这种方式外,还可以利用剪贴板进行复制,如果打入一个字母需要1的时间,将已输入的部分复制进剪贴板需要5的时间(Ctrl+A,Ctrl+C,还有一个键取消全选状态),将剪贴板的内容粘贴出来需要2的时间(Ctrl+V)。
如果我们不关心输入文本的内容,而只关心输入文本的长度,要输入一个长度不低于N的文本最少需要多少时间?
【输入】
一个正整数N(0<=N<=200),表示文本的长度。
【输出】
一个正整数K,表示需要的最短的时间。
【输入样例】
14
【输出样例】
15
【题解】
很简单的动态规划,每个阶段有两种选择:
①在上一阶段的基础上花费1的时间输入;
②从以前的阶段状态复制得到现在的阶段状态,这一选择下又有多种选择。
状态转移方程:
f[i]=max(f[i-1]+1,max(f[j]+(i/j)*2+5)),j∈[1,i-1],i/j≠0
f[i]=max(f[i-1]+1,max(f[j]+(i/j-1)*2+5)),j∈[1,i-1],i/j=0
【代码】
请无视1008611,那是等同于0x7fffffff的存在QwQ