UVA100_DuinoDu的博客-程序员信息网

技术标签: uva  vim  code_practice  

  1. vim粘贴到系统剪贴板, ubuntu apt-get install vim,这样安装的版本vim-base没有+寄存器(“+y),卸载,重装
  2. vim全选复制:ggVG(gg回到首行首列,V行选中模式,G定位文档末尾)
  3. cpp代码
#include <iostream> 
#include <map> 
using namespace std; 
map<long long, long long> coll; 

long loopLength(const long long* right){
    long length = 1;
    long long current = *right;
    while(current > 1){
        if(current % 2 == 0){
            current /= 2;
        }
        else{ 
            current = current * 3 + 1;
        }
        length++;
    }
    return length;
}

long loopLength_speedup(const long long* right){ 
    long long length = 0;
    map<long long, long long>::iterator it = coll.find(*right);
    if(it == coll.end()){ 
        length = loopLength(right);
        coll[*right] = length;
    }
    else{ 
        length = it->second;
    }
    return length;
}

int maxLength(const long long* left, const long long* right){ 
    long long min = *left < *right ? *left : *right;
    long long max = *left > *right ? *left : *right;

    long long current = min;
    int maxLength = 0;
    while(current <= max){ 
        int length = loopLength_speedup(&current);
        maxLength = length > maxLength ? length : maxLength;
        current++;
    }
    return maxLength;
}

int main(){ 
    long long left, right;
    while(cin >> left >> right){ 
        cout << left << " " << right << " " << maxLength(&left, &right) << endl;
    }
    return 0;
}

代码中的 loopLength_speedup() 用来查找之前已经计算过的数字,如果之前计算过,就不用再计算,直接从map里面取结果就好了.

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/DuinoDu/article/details/50845586

智能推荐

Linux Shell 文本处理工具集锦【转】_weixin_33827590的博客-程序员信息网

转自:http://www.cnblogs.com/me115/p/3427319.html内容目录:find 文件查找grep 文本搜索xargs 命令行参数转换sort 排序uniq 消除重复行用tr进行转换cut 按列切分文本paste 按列拼接文本wc 统计行和字符的工具sed 文本替换利器awk 数据流处理工具迭代...

Linux中selinux 内核级加强型火墙管理_X_sm的博客-程序员信息网

1.selinux功能selinux开启会给系统中的每一个文件及每一个程序加载安全上下文,特定安全上下文的程序只能访问特定安全上下文的文件。当selinux开启会对服务本身相对不安全的功能加载开关sebool并且设定开关为关闭状态以保证服务安全性。当需要此功能时需要超级用户手动调节。selinux是保护系统安全性的插件。1.1 seliux关闭状态安装vsftpd服务,编辑vsftp服务的配置文件,允许匿名用户访问,在/mnt中建立文件,将该文件移动到/var/ftp下后,匿名用户...

30天自制操作系统-读取u盘数据_POFEI_IS_SHIT的博客-程序员信息网_可以往u盘写16进制数据嘛

0.准备再读取u盘这一节中,花费了一个月时间才成功,看到网站上有些博主说使用fat12文件格式的u盘,然后改下读取u盘的chs就能成功,有些博主说要用fat32文件格式的,再改chs也可以。我试了很久都不成功,实践证明还是要原理掌握了,才能实验成功。 先说下fat12文件格式的程序中的地址为什么是0xc200,0x4200+0x8000,0x8000是我们指定的内存读取地址,那么0x4200...

Android 基础知识点_那些回不去的年少无知的博客-程序员信息网_android基础

最近这一年都没有写过的Android也没有写过APP所以感觉自己都快忘光了最近一年都在写VUE又不想让自己把的Android扔下毕竟这个才是我的主要技能VUE只是辅助。这些技术点也是面试经常问到的,在整理这些之前参考了许多关于面试的帖子因为感觉自己把有些基础的东西和概念性的东西都忘记了本来想的直接去面试呢有感觉这是对自己和对面试公司的不负责所以把这些基础和概念性的东西都过一遍。好了废话不多...

小白如何进行生信分析平台搭建_科研小行星的博客-程序员信息网

很多读者想学习生物信息分析,而生物信息分析是一项实践性很强的工作,因此我们推出《生物信息分析平台搭建》系列,手把手教你搭建属于自己的生物信息分析系统,为了便于练习,我们将在虚拟机中进行练习,当熟练之后,在逐步上手实体机或云服务器。01. VirutalBox安装VirtualBox是目前免费虚拟机中最好用的软件,兼容性好、稳定、定期更新。是生信入门、无服务器还要数据分析的朋友居家必备软件。点击标题蓝字阅读原文,查立阅此软件下载、安装的详细图文教程。02. 安装Linux系统在Virt

随便推点

iap 服务器端 php,[转载]iAP  二次(服务端/客户端)验证_何颖诗的博客-程序员信息网

iAP服务端验证,网络上介绍的东西不多,找很很久才找到苹果的官方文档,记录下来。Verifying an App ReceiptCommunication with the App Store is structured as JSONdictionaries, as defined in RFC 4627. To verify the receipt,perform the following ...

二叉树的非递归遍历(前序、中序和后序)_realwongp的博客-程序员信息网

二叉树的循环遍历(前序、中序和后序)最近有小伙伴面试的时候被问到写循环遍历二叉树,虽然我面了几次还没被问到相关的,但是想着也是该会的东西,就花了点时间写了点代码,废话不多说,上菜。我的二叉树的声明如下:这个节点是在offer这个包里面的,所以下面的代码都会 import offer.TreeNodepackage offer;/** * @author WangPan * @d...

纯干货!AndroidHook机制连简单实战都不会凭什么拿高薪?跳槽薪资翻倍_普通网友的博客-程序员信息网

前言现实就是,99%的职业,年龄增大后都没前途。没前途是绝大多数普通人的宿命,有前途的人也用不着等到老。有没有前途已然不重要,无论做哪一行,健康的心态永远是首位。从我个人的角度写写30多岁码工的感受:的确是受年龄压力开始增大了。比如二十多岁的小年轻,可能什么都懂,对组里的东西很熟悉。有时候我也怀疑自己是不是智商不够,是不是自学能力太差,是不是基础不行,别人是不是都玩命加班,你知道30多岁的人那种危机感。Java基础知识点Jvm相关Java内存结构及分区Java对象的创建、存储及访问Java判

适用TP3.2.3分页样式_Las_wang的博客-程序员信息网

page.css/*thinkphp 分页样式*/div.page1 { margin-top: 20px; margin-right: 10px; float: right; color: #666;}div.page1 span.current , div.page1 a{ border: 1px solid #dcdcdc; display:

弘辽科技:成立仅5年的拼多多是如何一步步“紧逼”阿里的?_普通网友的博客-程序员信息网

原标题《弘辽科技:成立仅5年的拼多多是如何一步步“紧逼”阿里的?》成立仅仅5年的拼多多,不经意间已经成长为一家万亿公司。2020年11月12日,拼多多发布的第三季度财报显示,公司Q3净利润超4.6亿元,首次实现季度盈利,期间营收为142亿,同比增长89%。受此消息影响,拼多多股价随后快速上涨,达历史最高点156美元,公司市值约为1.2万亿人民币。上市仅两年,拼多多就成为了股价接近翻10倍的超级明星股,崛起速度令人咋舌。其创始人黄峥也成为了继马云、马化腾、农夫山泉创始人钟睒睒后,中国排名第四的富豪

__import__ 与动态加载 python module_JackLiu16的博客-程序员信息网

本文介绍 python module 的动态加载,我们有时希望从配置文件等地获取要被动态加载的 module,但是所读取的配置项通常为字符串类型,无法用 import 加载,例如: 1 2 3 4 5 6 &amp;gt;&amp;gt;&amp;gt; import 'os' File &quot;&amp;lt;stdin&amp;gt;&quot;, line 1 ...