zoukankan      html  css  js  c++  java
  • 数据填充

    Description
    ORZ公司的软件研发部门正在测试一个新产品接受极端数据的能力。因此,公司希望你能够写一段长度为N的极端混乱的数据,帮助他们完成测试。

    当你打开计算机准备随机生成数据时,编译器却发生错误,告诉你随机函数不存在!因此,你只好手动完成任务。但你比较懒,所以希望使用最少的按键次数来完成任务。

    为了简化问题,我们规定合法操作包含以下两种:

    (1)再添加一个字符。

    (2)利用ctrl+A,ctrl+C,ctrl+V(一组快捷键视作一次按键,上面的按键视为三次)来复制粘贴。完成后还要按一下End来进行下一个操作。

    注意,在执行过操作(2)后不一定要马上按下end,可以再按下ctrl+V粘贴若干次。但要再次复制(再次复制可以增长剪贴板中数据长度)或是输入一个字符时必须要按下End。

    Input
    一个数字N,表示你需要提供长度为N的数据。注意:不能多也不能少。

    Output
    一个数字,表示完成任务所需的最少步骤数。

    Sample Input
    150
    Sample Output
    20
    HINT
    对于100%的数据,0≤N≤20000


    考虑使用递推方法.
    要加强递推的练习.

    #include<iostream>
    #include<string.h>
    using namespace std;
    int f[1000000];
    int main()
    {
        memset(f, 127, sizeof(f));
        int n;
        cin >> n;
        f[0] = 0;
        for(int i = 1; i <= n; i ++)
        {
            f[i] = min(f[i], f[i - 1] + 1);
            for(int j = 2; i * j <= n; j ++)
                f[i * j] = min(f[i * j], f[i] + 2 + j);
        }
        cout << f[n];
    }
  • 相关阅读:
    实现ls(课上作业)
    20181217 (2)
    20181217 (1)
    ubuntu开启远程ssh登陆本机功能
    解决ubuntu下Could not get lock的问题
    博客园生成目录结构
    np.mean以及np.std用法
    解决 Could not find a version that satisfies the requirement torch==1.4.0
    github下载ocr模型 windows直接解压出问题
    centos7 连接不上网络解决办法
  • 原文地址:https://www.cnblogs.com/ZeonfaiHo/p/6402870.html
Copyright © 2011-2022 走看看