Project Euler Problem 14-Longest Collatz sequence
2024-09-06 14:00:59
记忆化搜索来一发。没想到中间会爆int
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1000000;
int dp[MAXN];
int dfs(long long num)
{
if(num <= MAXN && dp[num]) return dp[num];
if(num == 1) return (dp[num] = 1);
if(num&1)
{
if(num <= MAXN) return (dp[num] = dfs(num*3+1)+1);
else return dfs(num*3+1)+1;
}
else
{
if(num <= MAXN) return (dp[num] = dfs(num/2)+1);
else return dfs(num/2)+1;
}
}
int main()
{
int len = 0,res,maxn = 0;
for(int i = 1; i <= MAXN; ++i)
{
len = dfs(i);
if(len > maxn)
{
maxn = len;
res = i;
}
}
printf("%d\n",res);
return 0;
}
最新文章
- BZOJ 3944 Sum
- AOP基本名词解释
- 自动生成V字型
- Android SQLite 通配符查询找不到参数问题
- css3的背景颜色渐变@线性渐变
- 【原创】利用typeface实现不同字体的调用显示及String转换为Unicode
- Beta版本——第五次冲刺博客
- windows在当前位置打开终端
- centos 开启启动服务优化
- 使用DOSBox在Win7_x64下搭建汇编环境
- Kafka原理与java simple producer示例
- max_flow(Dinic) 分类: ACM TYPE 2014-09-02 15:42 94人阅读 评论(0) 收藏
- ListView中EditText的数据加载错乱的问题
- SQL中的类型转换
- JQuery图片延迟加载插件,动态获取图片长宽尺寸
- [置顶] Android布局管理器 - 详细解析布局实现
- CH BR8(小学生在上课-逆元和互质数一一对应关系)
- RESTFul中的那些事(1)---在RESTFul中,HTTP Put和Patch操作的差别?
- 【MFC】利用双缓冲和随机函数rand()实现蒲公英飞舞
- 同时只允许Count个线程访问同一块区域的实现方式
热门文章
- 2019.9.18 csp-s模拟测试46 反思总结
- Mysql的CMD操作
- web前端学习(三)css学习笔记部分(3)-- css常用操作
- mysql错误日志目录
- 利用Microsoft.VisualBasic中TextFieldParser解析器把CSV格式倒入数据库
- Node.js的框架-express
- Codeforces Round #416 (Div. 2) A. Vladik and Courtesy【思维/模拟】
- 使用FastJson对实体类和Json还有JSONObject之间的转换
- pug的安装与使用
- SQL注入绕过的技巧总结