递归不行就换动态规划(洛谷P1028题题解,Java语言描述)
题目要求
P1028题目要求
分析
我们可以用递归做,但可能会超时或者超内存。最起码不算好的算法。
那么我们就可以考虑找到递推规律,利用简单的DP处理。
在迭代的时候发现:(i >= 2)
i为偶数的时候,存在:f(i) = f(i-1) + f(i/2)
i为奇数的时候,存在:f(i) = f(i-1)
做一下简单模拟:
n = 0, result = 1;
n = 1, result = 1;
n = 2, result = 2;
n = 3, result = 2;
n = 4, result = 4;
n = 5, result = 4
n = 6, result = 6;
n = 7, result = 6;
符合我们所写的方程。
AC代码(Java语言描述)
import java.util.Scanner;public class Main {public static void main(String[] args) {int[] f = new int[1001];f[0] = f[1] = 1;Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();scanner.close();for(int i = 2; i <= n; i++){if(i % 2 == 0){f[i] = f[i-1] + f[i/2];} else {f[i] = f[i-1];}}System.out.println(f[n]);}
}
递归不行就换动态规划(洛谷P1028题题解,Java语言描述)相关推荐
- 线性存储的最短平均检索时间(洛谷P1253题题解,Java语言描述)
题目要求 P1253题目链接 分析 很像 ~洛谷P1223题题解~,也是一种类似SJF的贪心法. 排个序,由于两个不大于10000的数,乘起来还是int,就使用int属性吧. 数据量小,所以Scann ...
- 队列模拟约瑟夫问题(洛谷P1996题题解,Java语言描述)
题目要求 P1996题目链接 分析 以前就研究过"约瑟夫环"问题: <单循环链表求解约瑟夫环问题(Java语言描述)> <杀人游戏~约瑟夫环(洛谷P1145题题解 ...
- 巧用记忆化搜索代替暴力递归(洛谷P1464题题解,Java语言描述)
题目要求 P1464题目链接 分析 如果--你信了这题干,真的写了递归--TLE警告!!! 所以,就需要优化嘛-- [−9223372036854775808,9223372036854775807] ...
- 动态规划求解限时采药问题(洛谷P1048题题解,Java语言描述)
题目要求 P1048题目链接 分析 荐读:大神博文 -> <聊聊动态规划与记忆化搜索> 这题就是一个标准的DP水题,对于不会DP的萌新,太难了!对于整天搞DP的算法大佬,水爆了! 荐 ...
- 枚举求解单词方阵(洛谷P1101题题解,Java语言描述)
题目要求 P1101题目链接 分析 可以用DFS做,但我立下了个Flag,所以就用了朴素的枚举来做.... 结果,我的天哪,做了好几个小时-- 其实这种地图题,真的适合 DFS or BFS or D ...
- 麦森数(洛谷P1045题题解,Java语言描述)
题目要求 题目链接 分析 这题挺经典的,快速幂取模算法,如果求出大数再取模就可能T掉. 之前有篇文章写了这个算法:<快速幂算法详解&&快速幂取模算法详解> 既然是Java, ...
- 贪心策略摘果子(洛谷P1478题题解,Java语言描述)
题目要求 P1478题目链接 分析 本题的低配版题目链接 → 题解 那个题就是纯水题没啥可写的,我除了贴代码无话可说,但这题吧,虽然不算难,但也可一说. 建议大家移步这里 → 精辟题解 这位爷写了本题 ...
- N进制正反累加判回文数(洛谷P1015题题解,Java语言描述)
题目要求 P1015题目链接 分析 开始的时候写了这么一个代码,应该是比较基础的,是十进制的. private static void low() {Scanner scanner = new Sca ...
- 快速幂||取余运算【模板】(洛谷P1226题题解,Java语言描述)
题目要求 P1226题目链接 分析 标准的快速幂取模算法板子,之前这个算法我在这篇文章中讲过了:<快速幂算法详解&&快速幂取模算法详解>. 这里选择使用比较简单的API实现 ...
最新文章
- 中小型制造企业如何玩转MES系统?
- Docker操作系统理解
- Spring boot的Thymeleaf默认规则
- mysql单单写join_MySQL系列之Join大法
- 我不知道的事——深克隆和浅克隆
- Java——String类的方法
- 开灯关灯java script_Jquery实现视频播放页面的关灯开灯效果
- 一个员工经常找别人聊天,吾就知道他要走人了
- 在envi做随机森林_【模型篇】随机森林模型(Random Forest)
- 在线流程图绘制网站gliffy
- 2月书讯 | 这本书让无数读者盼了千万遍
- 阿里云datav自定义组件,引入高德地图API
- unity mono编译
- 实验环境的搭建以及异或门的设计仿真实验
- 双重认证怎么开_facebook bm认证很重要
- 小鸡腿U T10 Tokyo2014
- vscode中用emmet语法a{}*3无法自动换行
- 新手python之BP神经网络——手写公式推导+可运行代码+编程中遇到的问题
- %3chtml%3e%3c html,403禁止%3Chtml%3E%3Chead%3E%3Cmeta笨
- elasticsearch SSL 证书过期解决办法
热门文章
- 02_反汇编_反编译
- LeetCode: Convert BST to Greater Tree
- Mac 使用常见问题汇集
- 最后关于Pipeline完整的图如下:
- 为什么微软要推 ADO.NET Data Services
- repo同步代码_工欲善其事,必先利其器:repo 介绍
- nginx mysql双机热备_MYSQL双机热备
- mysql快速删除大表数据部分数据_mysql删除大表的部分数据
- html 分页_MySQL——优化嵌套查询和分页查询
- mysql 内联函数_C++之内联函数