通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"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的功能是:找出100至x(x≤9
以下选项中,值为1的表达式是。
已知x={1:1,2:2},那么执行语句x[3]=3之
请读程序段以上程序段的输出结果是__________。
计算机网络的目的是( )。
某进程中有3个并发执行的线程thread1、threa
给定一个含n(n≥1)个整数的数组,请设计一个在时间上
设用户所使用计算机系统上有两块IDE硬盘,Linux系
创建外键约束时,如果要使在删除父表记录时子表对应记录也
MySQL创建存储过程时 _____表示输入类型参数。
修改数据库表结构用以下哪一项( )
在linux 系统终端中,以下哪个命令用于创建一个新的
f函数的返回值等于两个输入字符串的最长公共子串的长度。
(6 分)已知某排序算法:请回答下列问题。(1)若有
程序员最喜欢的衣服是?
以下哪种功能没有涉及 C++语言的面向对象特性支持(
以下叙述正确的是( )。
连接字符串的函数是_____,只写函数名即可。
预处理命令行都必须以_____号开始。
C语言中引用数组元素的方括号可以用花括号代替。
则表达式x==y>z的值为_____。
输入 :8 4输出 :____
1948年,( )将热力学中的熵引入信息通信领域,标志
本题中,我们约定布尔表达式只能包含p, q, r三个布
输入: 2 3 5 7输出: _________
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2