题目要求

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语言描述)相关推荐

  1. 线性存储的最短平均检索时间(洛谷P1253题题解,Java语言描述)

    题目要求 P1253题目链接 分析 很像 ~洛谷P1223题题解~,也是一种类似SJF的贪心法. 排个序,由于两个不大于10000的数,乘起来还是int,就使用int属性吧. 数据量小,所以Scann ...

  2. 队列模拟约瑟夫问题(洛谷P1996题题解,Java语言描述)

    题目要求 P1996题目链接 分析 以前就研究过"约瑟夫环"问题: <单循环链表求解约瑟夫环问题(Java语言描述)> <杀人游戏~约瑟夫环(洛谷P1145题题解 ...

  3. 巧用记忆化搜索代替暴力递归(洛谷P1464题题解,Java语言描述)

    题目要求 P1464题目链接 分析 如果--你信了这题干,真的写了递归--TLE警告!!! 所以,就需要优化嘛-- [−9223372036854775808,9223372036854775807] ...

  4. 动态规划求解限时采药问题(洛谷P1048题题解,Java语言描述)

    题目要求 P1048题目链接 分析 荐读:大神博文 -> <聊聊动态规划与记忆化搜索> 这题就是一个标准的DP水题,对于不会DP的萌新,太难了!对于整天搞DP的算法大佬,水爆了! 荐 ...

  5. 枚举求解单词方阵(洛谷P1101题题解,Java语言描述)

    题目要求 P1101题目链接 分析 可以用DFS做,但我立下了个Flag,所以就用了朴素的枚举来做.... 结果,我的天哪,做了好几个小时-- 其实这种地图题,真的适合 DFS or BFS or D ...

  6. 麦森数(洛谷P1045题题解,Java语言描述)

    题目要求 题目链接 分析 这题挺经典的,快速幂取模算法,如果求出大数再取模就可能T掉. 之前有篇文章写了这个算法:<快速幂算法详解&&快速幂取模算法详解> 既然是Java, ...

  7. 贪心策略摘果子(洛谷P1478题题解,Java语言描述)

    题目要求 P1478题目链接 分析 本题的低配版题目链接 → 题解 那个题就是纯水题没啥可写的,我除了贴代码无话可说,但这题吧,虽然不算难,但也可一说. 建议大家移步这里 → 精辟题解 这位爷写了本题 ...

  8. N进制正反累加判回文数(洛谷P1015题题解,Java语言描述)

    题目要求 P1015题目链接 分析 开始的时候写了这么一个代码,应该是比较基础的,是十进制的. private static void low() {Scanner scanner = new Sca ...

  9. 快速幂||取余运算【模板】(洛谷P1226题题解,Java语言描述)

    题目要求 P1226题目链接 分析 标准的快速幂取模算法板子,之前这个算法我在这篇文章中讲过了:<快速幂算法详解&&快速幂取模算法详解>. 这里选择使用比较简单的API实现 ...

最新文章

  1. 中小型制造企业如何玩转MES系统?
  2. Docker操作系统理解
  3. Spring boot的Thymeleaf默认规则
  4. mysql单单写join_MySQL系列之Join大法
  5. 我不知道的事——深克隆和浅克隆
  6. Java——String类的方法
  7. 开灯关灯java script_Jquery实现视频播放页面的关灯开灯效果
  8. 一个员工经常找别人聊天,吾就知道他要走人了
  9. 在envi做随机森林_【模型篇】随机森林模型(Random Forest)
  10. 在线流程图绘制网站gliffy
  11. 2月书讯 | 这本书让无数读者盼了千万遍
  12. 阿里云datav自定义组件,引入高德地图API
  13. unity mono编译
  14. 实验环境的搭建以及异或门的设计仿真实验
  15. 双重认证怎么开_facebook bm认证很重要
  16. 小鸡腿U T10 Tokyo2014
  17. vscode中用emmet语法a{}*3无法自动换行
  18. 新手python之BP神经网络——手写公式推导+可运行代码+编程中遇到的问题
  19. %3chtml%3e%3c html,403禁止%3Chtml%3E%3Chead%3E%3Cmeta笨
  20. elasticsearch SSL 证书过期解决办法

热门文章

  1. 02_反汇编_反编译
  2. LeetCode: Convert BST to Greater Tree
  3. Mac 使用常见问题汇集
  4. 最后关于Pipeline完整的图如下:
  5. 为什么微软要推 ADO.NET Data Services
  6. repo同步代码_工欲善其事,必先利其器:repo 介绍
  7. nginx mysql双机热备_MYSQL双机热备
  8. mysql快速删除大表数据部分数据_mysql删除大表的部分数据
  9. html 分页_MySQL——优化嵌套查询和分页查询
  10. mysql 内联函数_C++之内联函数