题解 | 染色

染色

https://www.nowcoder.com/practice/fb48f6284a0f4e198f0bf2a988f703f8

#include <iostream>
#include <vector>
using namespace std;

// 思维流:我们不必真的如题目所想将三种颜色进行融合,我们只需要知道对于一个绿色油漆桶就是要出现黄色蓝色且不要出现红色。那么思路便明了了:
// 建立三种颜色的差分数组,得到每个油罐桶的被三种颜料分别灌入的总次数(三种颜色的前缀和数组)
// 如果对于某个油漆桶,就看它的黄色和蓝色前缀和数组是否大于1,红色是否为0,即可判断能否变绿

int main() {
    int n, m;
    cin >> n >> m; // 油漆罐的数量和加色操作的次数
    vector<int> d_yell(n+2,0); // 油漆桶编号为1~n
    vector<int> d_blue(n+2,0);
    vector<int> d_red(n+2,0);
    while (m--) {
        int l, r, k; // k为本次加入颜料的类别
        cin >> l >> r >> k;
        if (k == 1) {
            d_yell[l] += 1;
            d_yell[r+1] -= 1;
        }
        else if (k == 2) {
            d_blue[l] += 1;
            d_blue[r+1] -= 1;
        }
        else if (k == 3) {
            d_red[l] += 1;
            d_red[r+1] -= 1;
        }
    }
    vector<int>summ_yell(n+1,0);
    vector<int>summ_blue(n+1,0);
    vector<int>summ_red(n+1,0);
    int cnt_green = 0;
    for (int i = 1; i <= n; i++) {
        summ_yell[i] = summ_yell[i-1] + d_yell[i];
        summ_blue[i] = summ_blue[i-1] + d_blue[i];
        summ_red[i] = summ_red[i-1] + d_red[i];
        if (summ_yell[i] >= 1 && summ_blue[i] >= 1 && summ_red[i] == 0) {
            cnt_green++;
        }
    }
    cout << cnt_green;
}

全部评论

相关推荐

03-11 23:33
已编辑
曲阜师范大学 后端工程师
牛客68808588...:果真开发过12306购票系统吗,这不是一眼就被看穿了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
正在热议
更多
# 春招至今,你的战绩如何? #
11099次浏览 95人参与
# 你的实习产出是真实的还是包装的? #
1960次浏览 42人参与
# 米连集团26产品管培生项目 #
6042次浏览 216人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
7644次浏览 43人参与
# 简历第一个项目做什么 #
31750次浏览 341人参与
# 重来一次,我还会选择这个专业吗 #
433557次浏览 3926人参与
# 巨人网络春招 #
11372次浏览 223人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
187217次浏览 1122人参与
# 牛客AI文生图 #
21452次浏览 238人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
152461次浏览 888人参与
# 研究所笔面经互助 #
118967次浏览 577人参与
# 简历中的项目经历要怎么写? #
310376次浏览 4219人参与
# AI时代,哪些岗位最容易被淘汰 #
63853次浏览 828人参与
# 面试紧张时你会有什么表现? #
30516次浏览 188人参与
# 你今年的平均薪资是多少? #
213147次浏览 1039人参与
# 你怎么看待AI面试 #
180154次浏览 1258人参与
# 高学历就一定能找到好工作吗? #
64334次浏览 620人参与
# 你最满意的offer薪资是哪家公司? #
76547次浏览 374人参与
# 我的求职精神状态 #
448145次浏览 3129人参与
# 正在春招的你,也参与了去年秋招吗? #
363525次浏览 2638人参与
# 腾讯音乐求职进展汇总 #
160683次浏览 1112人参与
# 校招笔试 #
471238次浏览 2964人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务