PROBLEM SET
分治算法
按知识点筛选题目,系统巩固该考点。
题目列表
共 71 题
A61364
给定含有 n 个不同的数的数组 L=<x1, x2, ..., xn>。如果 L 中存在 x(i 1 < i < n) 使得 x1 < x2 < ... < xi-1 < xi > xi+1 > ... > xn, 则称 L 是单峰的,并称 xi是 L 的“峰顶”。现在已知 L 是单峰的,请把 a-c 三行代码补全到算法中使得算法…
2016年
--
--
A62163
信息学奥赛练习题:循环比赛日程表【
2023年
--
--
A62156
信息学奥赛练习题:求逆序对【
2023年
--
--
A61263
( )就是把一个复杂的问题分成两个或更多的相同类似的子问题,再把子问题分解成更小的子问题……直到最后的子问题可以简单地直接求解。而原问题的解就是子问题解的并。
2012年
--
--
A61157
NOIP2008年普及组初赛完善程序题:(找第k大的数) 给定一个长度为1,000,000的无序正整数序列, 以及另一个数n (1<=n<=1000000), 然后以类似快速排序的方法找到序列中第n大的数(关于第n大的数:例如序列{1,2,3,4,5,6}中第3大的数是4)。#include <iostream>
2008年
--
--
A61581
2021年CSP-S提高组初赛阅读程序题: #include <algorithm>
2021年
--
--
A59457
任务:利用分治思想,在50个同学成绩(成绩不重复)中查找指定成绩的同学的编号,学生成绩存储在列表cj中;待查找的成绩由键盘输入到变量key中。根据上述算法思想,编写自定义函数完成程序功能,完善空白处代码。 """
2020年
--
--
A59450
power(x,n)函数是计算x的n次幂的函数,power(x,n)函数运用了分治算法的思想,调用power(3,3)函数的计算结果是:27 def power(x,n)
2020年
--
--
A59445
分治,"分而治之"。从字面上理解就是分---治,把大的问题分成小问题,解决一个一个小问题,之后把问题的答案合并起来,就得到大问题的结果。历史上也有很多故事属于分治思想,以下属于分治思想的是?( )
2020年
--
--
A62013
假设快速排序算法的输入是一个长度为n的已排序数组,且该快速排序算法在分治过程总是选择第一个元素作为基准元素。以下哪个选项描述的是在这种情况下的快速排序行为?
2023年
--
--
A62003
(最大值之和)给定整数序列ao,a₁,a₂……an,求该序列所有非空连续子序列的最大值之和。上述参数满足1≤n≤10⁵和1≤ai≤108。一个序列的非空连续子序列可以用两个下标I和r(其中0≤l≤r≤n)表示,对应的序列为ai,ai+1,……ar。两个非空连续子序列不同,当且仅当下标不同。例如,当原序列为[1,2,1,2] 时, 要计算子序 列[1],[2],[1],[2],[1,2],[…
2023年
--
--
A61389
在 n(n ≥ 3)枚硬币中有一枚质量不合格的硬币(质量过轻或质量过重),如果只有一架天平可以用来称重且称重的硬币数没有限制,下面是找出这枚不合格的硬币的算法。请把 a-c 三行代码补全到算法中。 a. A ← X ∪ Y b. A ← Z c. n ← |A| 算法 Coin(A, n)1. k ← ⌊n/3⌋
2017年
--
--
A66254
小杨的握手问题
2023年
--
--
A57501
在上题的归并排序算法中,代码 Left, Right = mergeSort(listData[:Middle]), mergeSort(listData[Middle:]) 涉及到的算法有( )。
2023年-选择题
--
--
A57500
归并排序算法的基本思想是( )
2023年-选择题
--
--
A57409
《阅微草堂笔记》里描述了槐树果实“响豆”,在夜里爆响,这种豆一棵树只有一粒,难以辨认出。所以古人就等槐树开花结果后,用许多布囊分别贮存豆荚,用来当枕头。夜里如果没有听到声音,便扔掉。如果有爆响声。然后把这一囊的豆荚又分成几个小囊装好,夜里再枕着听……如此这么分下去直到找到响豆。以上故事体现的算法是?( )
2023年-选择题
--
--
A57408
下列哪项不是分治算法所具有的特征?( )
2023年-选择题
--
--
A58137
一个列表中存在n个数据,可以用分治算法来找到其中的最小值。具体过程如下:如果列表元素的个数小于等于2的时候,经过一个判断就找到其中的最小值,所以可以先把数据从中间划分为左右两部分,然后通过递归把每一部分再划分为左右两部分,直到数据规模小于等于2的时候,返回结果,然后通过递归到最后为两个数据对比,我们就可以找到最小值。请根据以上算法过程,补全代码。# 求列表中小于两个元素的最小值def get_m…
2023年-编程题
--
--
A61557
下列算法中,没有运用分治思想的一项是 ( )。
2021年
--
--
A66099
下⾯C++代码以递归⽅式实现合并排序,并假设merge (int T[], int R[], int s, int m, int t)函 数将有序(同样排序规则)的T[s..m]和T[m+1..t]归并到R[s..t]中。横线处应填上代码是( )。
2023年
--
--