题目
在动态规划问题中,“状态转移方程 + 递推”和“递归 + 记忆化搜索”通常是解决同一问题的两种不同实现方式,它们的时间复杂度总是相同的。( )
答案:B
考点
解题思维
分析时间复杂度时关注循环层数和每层迭代次数,递归算法则分析递归树。注意最坏/最好/平均情况的区别。
常见错误
分析复杂度时注意外层循环和内层循环的关联。例如内外两层都到n的循环不一定是O(n²),要看内层是否每次都在缩小。
详细解析(节选)
【考点】动态规划实现方式|状态转移与记忆化|绝对化表述陷阱
1. 🎯 考纲定位
本题考查 动态规划实现方式 在 GESP 八级《算法与数据结构》模块中的 状态转移与记忆化 对比。命题人故意用"总是相同"这种绝对化表述,卡住那些只背"DP本质是状态转移"的考生——他们忽略了实现细节对时间复杂度的影响。
同考点真题
- 第 27 题· NOIP 2009 普及组初赛试题 · 答案 0tmp+a[i]==ans a[i]+tmp==ans ans==a[i]+tmp<0itmp+=a[i] tmp=tmp+a[i]看解析 →
- 第 28 题· NOIP 2010 普及组初赛试题 · 答案 num <= 2num < 3num == 2go(LEFT_TO_RIGHT)pos[i] == LEFTLEFT == pos[i]hour[i] + go(RIGHT_TO_LEFT)go(RIGHT_TO_LEFT) + hour[i]pos[i] = LEFT看解析 →
- 第 29 题· NOIP 2010 提高组初赛试题 · 答案 opt[k]home[r] = kj = i + i(或j = 2 * i 或j = i * 2)swap(i, j)(或swap(j, i))value[i] + heap[1](或heap[1] + value[i])i - m看解析 →
- 第 15 题· CSP 2019 提高级第一轮 · 答案 A看解析 →
- 第 20 题· CSP 2019 提高级第一轮 · 答案 CBAD看解析 →