通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"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 + 1] = A[j]; A[j] = t;
A[j - 1] = A[j]; A[j] = t;
A[j] = A[j + 1]; A[j + 1] = t;
A[j] = A[j - 1]; A[j - 1] = t;
所属试卷:CSP-J1入门级初赛试卷[2020]
下列模板声明中,有语法错误的是
有如下定义,其中的四个函数定义中正确的是。
(读者自行创建,注意每行第一个逗号后面有空格),其内容
以下代码的输出结果是( )。
以下关于 Python 函数的描述中,错误的是( )。
优化数据库系统查询性能的索引设计属于数据库设计的( )
有两个关系R与s如下,由关系R和s得到关系T,则所使用
有以下程序程序运行后的输出结果是( )。
有以下程序:程序运行的结果是( )。
以下叙述正确的是( )。
读程序写结果1.2.#include<iostream
请在下面程序的横线处填上适当字句,以使程序完整,并使程
表达式{1,2,3}<{1,2,4}的值为______
以下语句的执行结果是。
在Python中,_______默认是阻塞的。
已知x=[3],那么执行x+=[5]之后x的值为___
链接分为:硬链接和( )。
简述解决忘记root密码的办法。参考答案:1)用Red
在关系模型中,表的行称为元组,列称为 。
E-R方法的三要素是:实体、属性和 。
向数据表中插入一条记录用以下哪一项( )
变量的本质是代表内存中的一个存储单元的_____。
以下不是无限循环的语句为( )。
设有以下共用体类型说明和变量定义,则变量c在内存所占字
有下列程序若运行时输入:2 4 6<CR>,则输出结果
函数fun的功能是:在有n个元素的结构体数组std
设有定义,int x[2][3];,则以下关于二维数组
1TB 代表的字节数是 ( ) 。
输入:6 5 91 42 32 43 24 14 34
记 T 为一队列初始为空现有 n 个总和不超过 32
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2