码迷,mamicode.com
首页 > 其他好文 > 详细

[CF1304C] Air Conditioner

时间:2020-02-17 15:48:29      阅读:64      评论:0      收藏:0      [点我收藏+]

标签:sync   bit   src   ons   pre   i++   val   max   one   

技术图片

维护一区间 \([l,r]\)

人按照时间升序

考虑 \((l_i, h_i, t_i)\),当前的所有区间与这个区间取交

推到 \(t_{i+1}\) 时,所有区间的端点向两边扩张即可

注意把空掉的区间删掉

#include <bits/stdc++.h>
using namespace std;

const int N = 105;
int q,n,m,t[N],l[N],h[N];

struct interval {
    int l,r;
    void cut(int ql,int qr) {
        l=max(l,ql);
        r=min(qr,r);
    }
    void expand(int t) {
        if(l>r) return;
        l-=t;
        r+=t;
    }
} I;

signed main() {
    ios::sync_with_stdio(false);
    cin>>q;
    while(q--) {
        cin>>n>>m;
        for(int i=1;i<=n;i++) {
            cin>>t[i]>>l[i]>>h[i];
        }
        for(int i=1;i<=n;i++) {
            for(int j=1;j<i;j++) {
                if(t[i]<t[j]) {
                    swap(t[i],t[j]);
                    swap(l[i],l[j]);
                    swap(h[i],h[j]);
                }
            }
        }
        I={m,m};
        for(int i=1;i<=n;i++) {
            I.expand(t[i]-t[i-1]);
            I.cut(l[i],h[i]);
        }
        if(I.l <= I.r) puts("YES");
        else puts("NO");
    }
}

[CF1304C] Air Conditioner

标签:sync   bit   src   ons   pre   i++   val   max   one   

原文地址:https://www.cnblogs.com/mollnn/p/12321947.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!