测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

PROBLEM SET

动态规划

按知识点筛选题目,系统巩固该考点。

共 635 题
重置

题目列表

共 635 题
A67593 给定一个整数数组nums,找到其中最长的严格上升子序列的长度。 子序列是指从原数组中删除一些元素(或不删除)后,剩余元素保持原有顺序的序列。 该程序的时间复杂度为()1 #include <iostream> 2025年 动态规划 时间复杂度 数组遍历 最长上升子序列 -- -- A67591 给定一个m×n的二维网格grid,每个格子中有一个非负整数。请找出一条从左上角 (0, 0) 到右下角 (m-1, n-1) 的路径,使得路径上的数字总和最小。每次只能向右或向下移动。横线处应该填入的是()1 #include <iostream> 2025年 动态规划 二维数组 状态转移 -- -- A67590 给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。下面横线处应该填入的是()1 #include <iostream> 2025年 动态规划 状态转移 最大子数组和 -- -- A67586 3.1 编程题 1 2025年 动态规划 广度优先搜索 图论 无向图 -- -- A67579 下面Floyd算法中,横线处应该填入的是( )。1 #include <iostream> 2025年 动态规划 最短路径 Floyd算法 三重循环 -- -- A60805 蜗牛爬行 一只蜗牛在如下图所示的数字方格上移动,已知它只能从标号小的方格移动到标号大的相邻方格。现在请你计算:蜗牛从方格M开始爬到方格N,1<=M<N<=1000,有多少种移动路线?以下用Python编程实现,请你补全代码。def woniu(m , n) 2025年 递推 动态规划 循环结构 数组操作 -- -- A69198 从一个2x2网格的左上角出发,若只允许向右或向下移动,恰好有如下6条路径可以到达右下角:补全以下C++代码,计算对于9x9的网格,有多少条路径可以到达右下角?( )int g[10][10] = [] 2025 年 动态规划 二维数组 路径计数 -- -- A69034 在遥远目神秘的生态星球"埃米塔",有一个复杂却有趣的生态系统。这种生态系统以一种逆行的方式演化,所有生物的构 造遵循奇特的规则:所有生物体结构都只由三种核心元素构成,分别是碳(C)、(O)、(N)。这些元素被赋予不同的生命力,使得星球上的生物拥有完全不同的存活特性。具体来说:碳(C):提供3点生命力,是结构的基础,但缺乏高度变化。 氧(O):提供6点生命力,可以赋予生… 2025 年 动态规划 计数问题 完全背包 整数拆分 -- -- A62808 红蓝扑克排列 创意编程组 递推 动态规划 组合计数 卡特兰数 -- -- A62779 阅读程序题:#include <algorithm> 2025年 递推 动态规划 二维数组 最长公共子序列 -- -- A62769 同学们在学校创客空间开发了一款机器人,由于技术限制,如果把机器人运动场地看作一个坐标平面,机器人每次只能向右或向下移动一个单位坐标,如果机器人从左上角(1,1)出发,要到达右下角(5,5)。请问一共有多少条不同的路径? 2025年 动态规划 坐标与运动 路径计数 -- -- A67448 给定 n 个物品和一个最大承重为w 的背包,每个物品有一个重量 wt[i]和价值val[i] ,每个物品只能选择放或 不放。目标是选择若干个物品放入背包,使得总价值最大,且总重量不超过 w。关于下面c++代码,说法正确的是( )。int knapsack1D(int W, vector<int>& wt, vector<int>& val, int n) { 2025年 动态规划 循环结构 背包问题 一维数组优化 -- -- A67438 下面C++代码采用动态规划求解零钱兑换问题:给定 种硬币,第 𝑖 种硬币的面值为 𝑐𝑜𝑖𝑛𝑠[𝑖 − 1] ,目标金额为 𝑎𝑚𝑡 ,每种硬币可以重复选取,求能够凑出目标金额的最少硬币数量;如果不能凑出目标金额,返回 -1 。int coinChangeDPComp(vector<int> &coins, int amt) { 2025年 动态规划 数组 状态转移 完全背包 -- -- A67437 学习小组 2025年 动态规划 完全背包 最优化问题 -- -- A67433 以以下关于动态规划的说法中,错误的是( )。 2025年 动态规划 状态转移 算法复杂度 -- -- A67425 调味平衡 2025年 动态规划 状态设计 背包问题 最优化 -- -- A67418 下面 LIS 函数试图求出最长上升子序列的长度,横线处应该填入的是( )。int max(int a, int b) { 2025年 动态规划 状态转移 最长上升子序列 -- -- A67417 下面 LIS 函数试图求出最长上升子序列的长度,其时间复杂度为( )。#define INT_MIN (-1000) 2025年 动态规划 时间复杂度 二分查找 最长上升子序列 -- -- A67325 小杨正在爬楼梯,需要 n阶才能到达楼顶,每次可以爬 1阶或 2阶,求小杨有多少种不同的方法可以爬到 楼顶,横线上应填写( )。int climbStairs(int n) { 2025年 递推 动态规划 循环结构 -- -- A67272 给定 n个物品和一个最大承重为 W的背包,每个物品有一个重量 wt[i]和 val[i]价值 ,每个物品只能选择放或 不放。目标是选择若干个物品放入背包,使得总价值最大,且总重量不超过 W,则横线上应填写( )。int knapsack(int W, vector<int>& wt, vector<int>& val, int n) { 2025年 动态规划 状态转移 背包 一维数组优化 -- --