通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"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; }
① 处应填( )
A[j].b > A[j - 1].b
A[j].a < A[j - 1].a
A[j].a > A[j - 1].a
A[j].b < A[j - 1].b
所属试卷:CSP-J1入门级初赛试卷[2020]
下列关于C++函数的说明中,正确的是。
某计算机按字节编址,采用页式虚拟存储管理方式,虚拟地址
假定计算机M 字长为 32 位,按字节编址,采用 32
下列不属于数据库设计任务的是( )。
若有定义语句:则以下语句中正确的是( )。
对于“while(!E)s;”,若要执行循环体s,则E
若变量已正确定义,在if(W)printf("%d\n
对于带有else子句的for循环和while循环,当循
表达式3|5的值为_______。
#编写函数,模拟Python内置函数sorted。
已知x=[3],那么执行x+=[5]之后x的值为___
设有char a,b;若要通过a&b运算屏蔽掉a中的其
论述实时信号、非实时信号、可靠信号、不可靠信号四个概念
关于可装载的模块,装载时的参数,如I/O地址等的存放位
创建外键约束时,如果要使在删除父表记录时子表对应记录也
解决并发控制带来的数据不一致问题普遍采用的技术是
传统的集合运算包括:并、交、差和( )。
MySQL中grant语句没有下面哪项功能
设有一组记录的关键字为{19,14,23,1,68,2
(9 分)某网络拓扑如题 47 图所示,以太网交换机
在 ISO/OSI 参考模型中,实现两个相邻结点间流量
假设输入的 n、m 均是不超过 100 的正整数,算法
函数调用结束后,静态局部变量所占用的空间被释放。
功能:请编一个函数void fun(int tt[M]
有以下程序程序运行后的输出结果是
下列叙述中正确的是
一只小猪要买 N件物品 (N 不超过 1000)。它要
输出:( )
输入:30输出:____
输入:114 5 6 6 4 3 3 2 3 2 1输
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2