动态规划,求助
c++吧
全部回复
仅看楼主
level 1
aabbcctt 楼主
注释掉那部分是不是可以不要?求大佬讲解
2023年11月15日 10点11分 1
level 7
C++中的动态规划是一种算法设计技术,用于解决需要做出一系列决策的问题。每个决策都依赖于前面的状态,以及可能的选择。动态规划通过将问题分解为子问题,并存储子问题的结果,从而避免了重复计算,提高了效率。
在C++中,动态规划可以通过数组或矩阵来实现。以下是一个简单的示例,展示了如何使用动态规划来解决“斐波那契数列”问题:
#include <iostream>
using namespace std;
int fibonacci(int n) {
if (n <= 1) return n;
int dp[n+1];
dp[0] = 0;
dp[1] = 1;
for (int i = 2; i <= n; i++) {
dp[i] = dp[i-1] + dp[i-2];
}
return dp[n];
}
int main() {
int n = 10;
cout << "Fibonacci of " << n << " is: " << fibonacci(n) << endl;
return 0;
}
在上面的代码中,我们使用了一个数组dp来存储斐波那契数列的每个值。我们从底部开始计算每个值,并使用前两个值的和来计算下一个值。最后,我们返回数组中的最后一个值,这就是我们要找的答案。
2023年11月17日 15点11分 3
level 1
搜索了解下《志宏说算法模板与1000题》,用30个模板解190道动态规划题,用150个模板解1000道算法题。
2024年10月02日 10点10分 4
level 7
可以要也可以不要,还有就是你这不是dp是前缀和
2024年10月04日 07点10分 5
1