通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"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; }
⑤处应填( )
r = max(r, A[q + 1].b)
r = max(r, A[q].b)
r = max(r, A[q + 1].a)
q++
所属试卷:CSP-J1入门级初赛试卷[2020]
下列运算符函数中肯定不属于类Can的成员函数的是
有如下类定义,类MyDERIVED中保护的数据成员和成
按照标识符的要求,下列选项中,符号不能组成标识符。
单击窗口内的按钮时,产生的事件是( )。
有以下程序:程序运行后的输出结果是( )。
已知字典 x= {i:str(i+3) for i i
#编写程序,其功能为打印如下图所示图形。*******
已知x={1,2,3},那么执行语句x.add(3)之
当a=3,b=2,c=1时,表达式f=a>b>c的值是
若运行一下程序时输入:-2<回车>,则程序的输出结果是
以下程序的功能是判断输入的某个年份是否是闰年,请填空。
什么是Linux?其创始人是谁?Linux操作系统的诞
升级安装wu-ftpd软件包参考答案:rpm –Uvh
运行级定义在:
设关系模式R(A,B,C)和S(B,C,E),R和S执
修改视图除了可能使用create or replace
mysql数据库中存储有用户对某个表操作权限的表是
关于Internet,以下说法正确的是
2017 年公布的全球超级计算机 TOP500 排名中
某“调整工资”处理模块接受一个“职称”的变量,根据职称
设x=4<4-!0,x的值为_____。
若a是int型变量,则计算表达式a=25/3%3后a的
对于入栈顺序为a,b,c,d,e的序列,下列( )不是
以下叙述中正确的是
下列关于数据库特点的说法中正确的是
下列四个不同进制的数中,与其它三项数值上不相等的是(
(最大子矩阵和)给出 m行n 列的整数矩阵,求最大的子
输入:abceecba输出:________
地址总线的位数决定了 CPU 可直接寻址的内存空间大小
将 5 个数的序列排序,不论原先的顺序如何,最少都可以
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2