记忆化搜索

记忆化搜索

在递归过程中,有许多分支被反复计算,会大大降低算法的执行效率。用记忆搜索,讲已经计算出来的结果保存起来,以后需要用到直接去除结果,避免重复运算。

题目链接 数不清的数

原本的代码

外面一层t的while循环,里面再计算1-x的的二进制中1的和,时间复杂度是on的三次方,时间复杂度太大了。

看题目的数据范围,只有31个数字,可以讲1-31的全部计算出来保存到数组中去,下面while直接从数组中取数字即可,减少了一层的时间复杂度。

dp[i]就是以i结尾的二进制数字个数,题目需要求的是0-2的n次方

相关推荐
乌萨奇也要立志学C++8 分钟前
【洛谷】搜索初识 回溯剪枝 + 三大枚举题型 + 全排列实现
算法·剪枝
企业对冲系统官12 分钟前
期货套保系统移动端操作的技术架构与实现
算法·架构·区块链·github
wen__xvn13 分钟前
代码随想录算法训练营DAY20第六章 二叉树part07
数据结构·算法·leetcode
夜思红尘14 分钟前
算法--双指针2
算法
Takoony22 分钟前
一鱼两吃:为什么 SFT 和 GRPO 可以共用同一批数据
算法
Deepoch29 分钟前
Deepoc数学大模型:通信行业智能化的算法引擎
人工智能·算法·数学建模·开发板·通信·具身模型·deepoc
无风听海34 分钟前
CBOW输入层向量形式深入解析
人工智能·算法·机器学习
ValhallaCoder35 分钟前
Day50-图论
数据结构·python·算法·图论
Shirley~~37 分钟前
leetcode二分法
数据结构·算法·leetcode
LDG_AGI39 分钟前
【机器学习】深度学习推荐系统(二十九):X 推荐算法多样性打散机制详解
人工智能·深度学习·算法·机器学习·推荐算法