zoukankan      html  css  js  c++  java
  • zjut1674刷屏

    http://acm.zjut.edu.cn/ShowProblem.aspx?ShowID=1674

    刷屏 
    Time Limit:1000MS  Memory Limit:32768K
    Description:
    
    小y在群里跟人刷屏,他想知道怎样刷屏是最快最节省操作的。而他又很挑剔,想输出多少字符就只能输出多少。
    刷屏的操作包括以下,每项算一次操作:
    1.输入一个字符。
    2.全选所有已输入的字符。
    3.复制
    4.粘贴(全选后的初次粘贴只是覆盖了原来的内容,因为小y没有鼠标去取消全选状态……)。
    Input:
    
    首先一个整数cas,表示接下来有cas个数据。 每个数据占一行,为一个整数n,0<n<5000,表示小y想要输入的字符数。
    Output:
    
    每个数据输出一行,表示输出n个字符最少需要的操作数。
    Sample Input:
    
    3
    1
    9
    99
    Sample Output:
    
    1
    8
    
    #include<iostream>
    #include<algorithm>
    #include<cstring>
    #include<queue>
    using namespace std;
    int ans,n;
    const int INF=1000000;
    int dp[5002];
    
    void cutroad()
    {
        for(int i=1;i<=5000;i++)dp[i]=INF;
    		for(int i=1;i<=8;i++)dp[i]=i;
    	for(int i=9;i<=5000;i++)
    		{
    			dp[i]=dp[i-1]+1;
    			for(int k=1;k<i;k++)
    			{
    				if(i%k==0)dp[i]=min(dp[i],dp[i/k]+k+2);
    			}
    		}
    }
    int main()
    {
    	int cas;
    	cutroad();
    	cin>>cas;
    	while(cas--)
    	{
    		cin>>n;
    		
            cout<<dp[n]<<endl;
    	}
    }
    
  • 相关阅读:
    如何用VSCode手动编译Ace Editor
    libuv源码分析
    二叉平衡查找树---红黑树
    tcp滑动窗口与拥塞控制
    ceph架构剖析
    腾讯面试总结
    协程的实现原理
    dhcp协议交互报文
    libuv源码分析前言
    Protobuf使用规范分享
  • 原文地址:https://www.cnblogs.com/sook/p/2038550.html
Copyright © 2011-2022 走看看