PROBLEM SET
贪心算法
按知识点筛选题目,系统巩固该考点。
题目列表
共 190 题
A62675
小明有7个排成一排的盒子,之中的糖果数依次为4,1,3,2,6,1,4,现在要求相邻的两个盒子的糖果个数之和不能超过3个。为满足该要求,至少需取走( )个糖果。
2025年
--
--
A62674
把一箱重量为x的苹果和一箱重量为y的苹果打包成一箱重量为x+y的苹果需要花费x+y元成本。假设每次只能选择某两箱苹果打包成新的一箱,则将初始重量为15,9,6,5,3的五箱苹果打包为一箱的花费最少为( )
2025年
--
--
A67198
对连通无向图执行Kruskal算法。已按边权从小到大依次扫描到某条边 e=(u,v)。此时在已经构建的部分 MST结构中, (u,v)已在同一连通块内。关于边 的处理,下列说法正确的是( )。
2025年
--
--
A67196
宝石项链
2025年
--
--
A67177
有5个字符,它们出现的次数分别为2次、2次、3次、3次、5次。现在要用哈夫曼编码的方式来为这些字符进行编码,最小加权路径长度WPL(每个字符的出现次数 它的编码长度,再把每个字符结果加起来)的值为( )。
2025年
--
--
A67154
下面C++代码实现了哈夫曼编码,则横线处应填写的代码是( )。
2025年
--
--
A67125
小杨要把一根长度为 L 的木头切成 K 段,使得每段长度小于等于 x 。已知每切一刀只能把一段木头分成 两段,他用二分法找到满足条件的最小 x ( x 为正整数),则横线处应填写( )。
2025年
--
--
A67123
给定有 n 个任务,每个任务有截止时间和利润,每个任务耗时 1 个时间单位、必须在截止时间前完成,且每个时间槽最多做 1 个任务。为了在规定时间内获得最大利润,可以采用贪心策略,即按利润从高到低排序,尽量安 排,则横线处应填写( )。
2025年
--
--
A67120
相等序列
2025年
--
--
A67113
贪心算法在每一步都做出当前看来最优的局部选择,并且一旦做出选择就不再回溯;而分治算法将问题分解 为若干子问题分别求解,再将子问题的解合并得到原问题的解。
2025年
--
--
A67110
使用贪心算法解决问题时,通过对每一步求局部最优解,最终一定能找到全局最优解。
2025年
--
--
A60998
下面程序的运行结果为( )。1 def check(n, a, k, dist)
2026年
--
--
A60996
给定 n 根木头,第 i 根长度为 a[i] 。要切成不少于 m 段等长木段,求最大可能长度,则横线上应填 写( )。1 def check(a, m, x)
2026年
--
--
A60984
假设数组 的值域范围是 ,以下程序的时间复杂度是O(nlogn+nlogD)。1 def check(n, a, k, dist)
2026年
--
--
A67927
下面程序的运行结果为( )。1 bool check(int n, int a[], int k, int dist) {
2026年
--
--
A67912
假设数组 的值域范围是D,以下程序的时间复杂度是O(nlogn+nlogD)。1 bool check(int n, int a[], int k, int dist) {
2026年
--
--
A67911
若一个问题满足最优子结构性质,则一定可以用贪心算法得到最优解。
2026年
--
--
A67894
哈夫曼编码是一种变长的前缀编码,在解码时不需要额外的分隔符就能唯一还原,这是因为在哈夫曼树中,任何一个字符的叶子结点都不会成为另一个字符结点的祖先。
2026年
--
--
A67884
在 Kruskal 算法中,会将边排序后按顺序扫描选取边加入最小生成树中,算法的本质思想是( )。
2026年
--
--
A67883
下面程序的运行结果为( )。1 #include <iostream>
2026年
--
--