通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"CSP考试" 试卷中 CSP-J1入门级初赛试卷[2020] 中有题目如下:
第1题
(最小区间覆盖)给出 n 个区间,第 i 个区间的左右端点是[ai,bi]。现在要在这些区间中选出若干个,使得区间 [0,m][0,m] 被所选区间的并覆盖(即每一个 0≤i≤m 都在某个所选的区间中)。保证答案存在,求所选区间个数的最小值。
输入第一行包含两个整数 n 和 m(1≤n≤5000, 1≤m≤109)。
接下来 n 行,每行两个证书 ai,bi(0≤ai,bi≤m)。
提示:使用贪心法解决这个问题。先用 Θ(n^2) 的时间复杂度排序,然后贪心选择这些区间。
试补全程序。
#include <iostream> using namespace std; const int MAXN = 5000; int n, m; struct segment { int a, b; } A[MAXN]; void sort() // 排序 { for (int i = 0; i < n; i++) for (int j = 1; j < n; j++) if (①) { segment t = A[j]; ② } } int main() { cin >> n >> m; for (int i = 0; i < n; i++) cin >> A[i].a >> A[i].b; sort(); int p = 1; for (int i = 1; i < n; i++) if (③) A[p++] = A[i]; n = p; int ans = 0, r = 0; int q = 0; while (r < m) { while (④) q++; ⑤; ans++; } cout << ans << endl; return 0; }
④ 处应填( )
q + 1 < n && A[q + 1].a <= r
q + 1 < n && A[q + 1].b <= r
q < n && A[q].a <= r
q < n && A[q].b <= r
所属试卷:CSP-J1入门级初赛试卷[2020]
以下代码的输出结果是( )。
下列选项中,文件系统可用于记录外存空闲空间使用情况的是
阅读程序,写出程序运行结果。
函数fun的功能是:将s所指字符串中ASCII值为偶数
下列叙述中错误的是( )。
给定程序MODI1.C中函数fun的功能是:从s所指字
人员的记录由编号和出生年、月、日组成,N名人员的数据已
有以下程序:程序运行后的输出结果是( )。
有如下程序:程序运行时,从键盘输入:3<回车>后,程序
若变量已正确定义则以上for循环。
字典中多个元素之间使用_________分隔开,每个元
要将 3.1415926变成 00003.14 如何进
编写程序实现功能:输入整数a和b,若a2和b2>100
函数f中的形参a为一个10*10的二维数组,n的值为5
请阅读程序段:上面程序段的输出结果是_________
将/home/stu目录下所有的.gz压缩文件解压缩,
下面哪个命令用来卸载一个内核模块?
视图是一个虚表,其本身并不存放数据,数据来源于____
修改递归方式实现的图的深度优先搜索(DFS)算法,将
假设输入的 n 为不大于 100 的正整数,k 为不小
一个C程序总是从_____开始执行。
若有以下数组a,数组元素:a[0]~a[9],其值为9
功能:编写函数fun(int m)求1000以内(不包
(RMQ 区间最值问题)给定序列a0,⋯,an-1,和
假设输入的所有数的绝对值都不超过1000,solve1
软件是
请编写函数fun,其功能是:将所有大于1小于整数m的非
二叉树的( )第一个访问的节点是根节点。
关于 HTML下面哪些说法是正确的:
输出: ___________
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2