比赛 2025.3.8 评测结果 AAAAAAAATTTTTT
题目名称 线段覆盖 最终得分 57
用户昵称 LikableP 运行时间 13.413 s
代码语言 C++ 内存使用 3.52 MiB
提交时间 2025-03-08 10:25:45
显示代码纯文本
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <fstream>
  4. using namespace std;
  5.  
  6. const int MAXN = 2e5 + 10;
  7.  
  8. int L, n;
  9. int a[MAXN];
  10.  
  11. int main() {
  12. freopen("xdfg.in", "r", stdin);
  13. freopen("xdfg.out", "w", stdout);
  14. scanf("%d %d", &L, &n);
  15. while (n--) {
  16. int m, s, t;
  17. scanf("%d %d %d", &m, &s, &t);
  18. if (m == 1) for (int i = s; i < s + t; ++i) a[i]++;
  19. else for (int i = s; i < s + t; ++i) a[i]--;
  20. int ans1 = 0, ans2 = 0;
  21. for (int i = 1; i <= L; ++i) {
  22. if (a[i]) {
  23. ans2++;
  24. if (!a[i - 1]) ans1++;
  25. }
  26. }
  27. printf("%d %d\n", ans1, ans2);
  28. }
  29. return 0;
  30. }
  31.  
  32. /*
  33. 老师我算了算,用我想的线段树的办法还不如用暴力。。。
  34. 实在想不到区间修改的时候怎么处理。。。
  35. 0
  36. 0 0
  37. 0 0 0
  38. 0 0 0 0 0
  39. 0 0 0 0 0 0 0 0 0 0
  40. 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0
  41. */
  42. /*
  43. #include <iostream>
  44. #include <cstdio>
  45. #include <fstream>
  46. #define ls(root) root << 1
  47. #define rs(root) root << 1 | 1
  48. using namespace std;
  49.  
  50. const int MAXN = 2e5 + 10;
  51.  
  52. int L, n;
  53. int tree[MAXN << 2][2], lazy[MAXN << 2];
  54.  
  55. void Modify(int root, int lt, int rt, int lq, int rq, int val) {
  56. if (lt == rt && lq == rq) {
  57. lazy[root] += val;
  58. return ;
  59. }
  60. int mid = lt + ((rt - lt) >> 1);
  61. if (rq <= mid) {
  62. Modify(ls(root), lt, mid, lq, rq, val);
  63. } else if (lq > mid) {
  64. Modify(rs(root), mid + 1, rt, lq, rq, val);
  65. } else {
  66. Modify(ls(root), lt, mid, lq, mid, val);
  67. Modify(rs(root), mid + 1, rt, mid + 1, rq, val);
  68. }
  69. }
  70.  
  71. void Query() {
  72. int sum = GetSum(1, 1, n, 1, n);
  73. }
  74.  
  75. int main() {
  76. scanf("%d %d", &L, &n);
  77. while (n--) {
  78. int m, a, t;
  79. scanf("%d %d %d", &m, &a, &t);
  80. if (m == 1) {
  81. Modify(1, 1, n, a, a + t - 1, 1);
  82. } else {
  83. Modify(1, 1, n, a, a + t - 1, 1);
  84. }
  85. Query();
  86. }
  87. return 0;
  88. } */