通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"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]
下列关于运算符重载的描述中,正确的是
下列程序逆序打印所输入正整数的各位数字,例如输入134
阅读程序,写出程序运行结果。
请编写一个函数fun其功能是:将ss所指字符串中所有下
下列叙述中正确的是( )。
给定程序中,函数fun的功能是:找出100至x(x≤9
在E-R图中,用来表示实体联系的图形是( )。
设有定义:则表达式(a&b)ǁ(a&&b)和(a|b)
若定义语句为const char *ptr; , pt
表达式eval ('''_import_('math'
已知x =[1,2],那么执行语句 x[0:1]=[3
在循环语句中,______语句的作用是提前进入下一次循
字符串“ab\n\\012\\\”的长度是______
假定计算机的主频为500MHz,CPI为4。现有设备A
假定DRAM芯片中存储阵列的行数为r、列数为c,对于一
Linux系统下经常使用的两种桌面环境是:____
简要论述Kswapd核心线程的动态特性。答:主要通过n
语句grant select,update on __
若串S1=‘ABCDEFG’, S2=‘9898’ ,
二叉树中每个结点至多有两个子结点,而对一般树则无此限制
在下列网间连接器中,在数据链路层实现网络互连
现有 5 个操作 A、B、C、D和E操作 C必须在 A
简述需求分析工作可以分成哪四个方面?软件需求分析的有哪
某计算机的CPU有30根地址线,按字节编址,CPU和主
设有如下定义:若要使p指向data中的a域,正确的赋值
有以下程序若想通过键盘输入,使得a1的值为12,a2的
下列叙述中正确的是
假设输入的 n 是不超过 50 的正整数,d[i][0
若输入的字符串长度为 18,那么输入的字符串跟输出的字
(郊游活动)有 n名同学参加学校组织的郊游活动,已知学
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2