这题如果不用3个差分数组,用哈希求调
查看原帖
这题如果不用3个差分数组,用哈希求调
1048576
New_Void楼主2025/8/2 16:20
#include <bits/stdc++.h>
using namespace std;
#define int unsigned long long
const int N=1e6+5;
int sum[N],a[N];
signed main(){
    ios::sync_with_stdio(false);
    cin.tie(0),cout.tie(0);
    int n,m;
    cin>>n>>m;
    int cnt=0;
    while (m--){
        int l,r,k;
        cin>>l>>r>>k;
        if (k==3){
            k=1e15;
        }
        if (k==2){
            k=1e7;
        }
        if (k==1){
            k=2;
        }
        a[l]+=k,a[r+1]-=k;
    }
    int MAX=1e7,MAXN=1e15;
    for (int i=1;i<=n;i++){
        sum[i]=sum[i-1]+a[i];
        if (sum[i]<MAXN && sum[i]%2==0 && sum[i]%MAX!=0 && sum[i]>=MAX){
            cnt++;
        }
    }
    cout<<cnt;
    return 0;
}

2025/8/2 16:20
加载中...