分类题库
C++编程题库
按题型、年份与知识点筛选,快速定位练习题。
题目列表
共 94 题
A72042
堆石子
编程题
A72040
消消乐
编程题
A72038
条形蛋糕
编程题
A70884
导弹拦截
编程题
A68032
酒鬼Santo刚刚与房东打赌赢得了一间在New Clondike 的大客厅。今天,他来到这个大客厅欣赏他的奖品。房东摆出了一行瓶子在酒吧上。瓶子里都装有不同体积的酒。令Santo高兴的是,瓶子中的酒都有不同的味道。房东说道:“你可以喝尽可能多的酒,但是一旦打开酒盖你就必须把它喝完,喝完一瓶后把它放回原处。还有一件最重要的事,你必须从左至右依次喝,并且不能连续超过三瓶,不然会给你带来坏运气。”现在…
编程题
A67900
小朋友们去邻里拜年,每个家里有不同数量的糖果。规则是:不能连续进入两个相邻的房子(即不能同时取相邻两家的糖果)。目标是拿到最多糖果。以下是代码实现,请补全横线。1 int visit(vector<int>& nums) {
2026年
单选
A67899
元宵节晚上,小朋友沿着一条发光石板路前进,每次可向前走 1 块或 2 块石板。动态规划定义如下:dp[i] = dp[i - 1] + dp[i - 2] ,下面关于 dp[i] 的含义最合适的是( )。
2026年
单选
A67890
下列代码实现了一个0-1背包的一维动态规划代码,内层循环是经典的逆序写法。若将内层循环改成正序遍历(即 for (int j = w[i]; j <= W; j++) ),仍能得到正确答案。1 int main() {
2026年
判断
A67889
在动态规划问题中,状态空间相同且没有重复计算的情况下,“状态转移方程+递推”与“递归+记忆化搜索”的时间复杂度通常相同。
2026年
判断
A67888
选数
2026年
编程题
A67875
如果一个最值问题可以用动态规划在多项式时间内求解,那么也一定存在一种贪心策略,可以在多项式时间内求得最优解。
2026年
判断
A67862
在使用Floyd算法求任意两点间最短路径时,时间复杂度为O(V3)。若在某次算法执行前,已经用 Dijkstra 算法正确求出了所有点对的最短路并存入了 dist 数组。如果此时继续对该 dist 数组执行一次完整的 Floyd 算法过程(无任何提前终止),执行完毕后 dist 数组内的值( )。
2026年
单选
A67861
下列代码试图实现Floyd算法求所有点对之间的最短路径,横线处应填入( )。1 void floyd(int n, int dist[][MAXN]) {
2026年
单选
A67851
消息查找
2026年
编程题
A67644
小杨正在爬楼梯,需要爬n阶才能到达楼顶。如果每次可以爬1个或2个台阶,下面代码采用递推算法来计算一共有多少种不同的方法可以爬到楼顶,则横线上应填写( )。1 int f(int n) {
2025年
单选
A67606
以下代码实现了0/1背包问题的动态规划解法。假设物品重量为weights[],价值为values[],背包容量为W,横线上应填写( )。1 int knapsack(int W, vector<int>& weights, vector<int>& values) {
2025年
单选
A67602
在动态规划解决一维硬币找零问题时,若硬币面额为 [1,3,4],目标金额为6,则最少需要2枚硬币(3+3)。
2025年
判断
A67598
3.2 编程题 2
2025年
编程题
A67594
给定一个整数数组nums,找到其中最长的严格上升子序列的长度。 子序列是指从原数组中删除一些元素(或不删除)后,剩余元素保持原有顺序的序列。 下面的程序横线处应该填入的是()1 #include <iostream>
2025年
单选
A67593
给定一个整数数组nums,找到其中最长的严格上升子序列的长度。 子序列是指从原数组中删除一些元素(或不删除)后,剩余元素保持原有顺序的序列。 该程序的时间复杂度为()1 #include <iostream>
2025年
单选