【信息学做题日记】AC掉贴海报不是目标,还有浮水法和线段树等着呢?

2024-06-11 17:55:35 浏览数 (1)

大家好!我是老码农。

小码匠这周有些打酱油

  • 周一感冒不舒服;
  • 周二晚上回来跟我又谈判,要准备周四的考试。打算周二、周三复习;
  • 周四晚上眼不太舒服了,复习了下线段树的2个模版,就早早休息了。
  • 周五晚上看这道题,噼里啪啦敲了会,感觉染色那块没太想明白。

周一也就是今天六一儿童节一大早,我提示了下她,可以考虑暴力。

她一看数据量,好水,直接搞了个暴力。

就有了下面的代码

代码语言:javascript复制
#include <bits/stdc  .h>

using namespace std;
const int MAX_NUM = 1e7   5;

bool cmp(node x, node y) {
    return x.l < y.l;
}

void best_coder() {
    int n, m;
    cin >> n >> m;
    for (int i = 0; i < m;   i) {
        cin >> a[i].l >> a[i].r;
        a[i].idx = i;
    }
    sort(a, a   m, cmp);

    int ans = 0;
    for (int i = 0; i < m;   i) {
        int flag = a[i].l;
        for (int j = 0; j < m;   j) {
            if (a[j].l > flag) {
                break;
            }
            if (a[j].idx > a[i].idx && a[j].r >= flag) {
                flag = a[j].r   1;
            }
            if (flag > a[i].r) {
                break;
            }
        }
        if (flag <= a[i].r) {
              ans;
        }
    }
    cout << ans;
}

void happy_coder() {

}

int main() {
    // 提升cin、cout效率
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);

    // 小码匠
    best_coder();

    // 最优解
    // happy_coder();

    return 0;
}

果然比用线段树搞,代码清新多了。

其实学信息学,读懂题目很关键

  • 别把简单问题复杂化;比赛时这点很关键,想想打个线段树的模版也有快30行了;
  • 平时的学习,还是不要满足于AC掉一个题目,题目AC掉后,还是要把题解区仔细看看,例如本题 都可以AC掉此题,需要去补充下线段树如何搞、浮水法也可以学习啊。
    • 浮水法
    • 线段树

总之:让自己的知识更成体系,别是一盘散沙。

好啦,今天就写到这里。

祝愿孩子们:节日快乐!

总结

记得「关注」、点「」、点「在看」支持一下老码农,感谢大家的支持!

0 人点赞