Advertisement

算法题-解决袋鼠过河问题(dp)

阅读量:
在这里插入图片描述

本题属于一个基础的动态规划问题,关键在于理解表达式dp[i + j] = std::min(dp[i] + 1, dp[i + j])的运用。对于这道题,唯一让我感到困惑的是,是否将跳上第一个木桩视为一次弹跳行为,这直接影响到dp[0]的初始值设定。若依据题目给出的答案为4来推断,则说明该动作被计算在内。个人认为题目在表述方面存在一定的模糊性,导致理解上产生歧义。

复制代码
    #include<iostream>
    #include<algorithm>
    #include<vector>
    
    using std::cin;
    using std::cout;
    using std::endl;
    int main()
    {
    	int n, dis;
    	std::vector<int>distance;
    	cin >> n;
    	for (auto i = 0; i < n; i++) {
    		cin >> dis;
    		distance.push_back(dis);

全部评论 (0)

还没有任何评论哟~