csppass
连续 00 XP登录 / 注册
202039完善程序贪心算法普及/提高

最小区间覆盖:①处应填

题目

完善程序:给出n个区间[ai,bi],选出若干个区间使[0,m]被所选区间的并覆盖,求所选区间个数最小值。使用贪心法解决,先按左端点排序,再贪心选择。 #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; } ①处应填( )

考点拆解
算法思想与复杂度
易错提醒
阅读程序题要按变量变化顺序手推,不要跳步
选择题要检查单位、边界和题目中的否定词