zoukankan      html  css  js  c++  java
  • Gym

    Gym - 101991D
    离散化+前缀和统计
    上次写离散化已经是一年前多了

    #include <bits/stdc++.h>
    #define inf 2333333333333333
    #define N 1010
    #define p(a) putchar(a)
    #define For(i,a,b) for(long long i=a;i<=b;++i)
    
    using namespace std;
    long long T,n,m,k,lx,ly,ans;
    long long x[N],y[N],f[N][N];
    struct node{
        long long x;
        long long y;
    }a[N];
    map<long long,long long>mx;
    map<long long,long long>my;
    
    void in(long long &x){
        long long y=1;char c=getchar();x=0;
        while(c<'0'||c>'9'){if(c=='-')y=-1;c=getchar();}
        while(c<='9'&&c>='0'){ x=(x<<1)+(x<<3)+c-'0';c=getchar();}
        x*=y;
    }
    void o(long long x){
        if(x<0){p('-');x=-x;}
        if(x>9)o(x/10);
        p(x%10+'0');
    }
    
    void init(){
        memset(f,0,sizeof(f));
        mx.clear();my.clear();
    }
    
    signed main(){
        freopen("dull.in","r",stdin);
        in(T);
        while(T--){
            init();
            in(n);in(m);in(k);
            For(i,1,k){
                in(x[i]);in(y[i]);
                a[i].x=x[i];a[i].y=y[i];
            }
            sort(x+1,x+k+1);
            sort(y+1,y+k+1);
            lx=unique(x+1,x+k+1)-x-1;
            ly=unique(y+1,y+k+1)-y-1;
            For(i,1,lx) mx[x[i]]=i;
            For(i,1,ly) my[y[i]]=i;
            For(i,1,k) f[mx[a[i].x]][my[a[i].y]]=1; 
            For(i,1,lx){
                For(j,1,ly){
                    f[i][j]+=f[i-1][j]+f[i][j-1]-f[i-1][j-1];
                }
            }
            x[lx+1]=n+1;y[ly+1]=m+1;
            ans=0;
            For(i,1,lx){
                For(j,1,ly){
                    if(f[i][j]%2){
                        ans+=(x[i+1]-x[i])*(y[j+1]-y[j]);
                    }
                }
            }
            o(ans);p(' ');o(n*m-ans);p('
    ');
        }
        return 0;
    }
  • 相关阅读:
    Element Plus表单resetFields重置表单无效
    thinkphp6通过中间件设置跨域
    centos7安装jdk
    面试
    行测-逻辑填空
    行测-语句表达
    行测-片段阅读
    行测-四大文明古国
    基于 OAuth2.0 协议的单点登录系统方案设计
    性能测试知识点+流程
  • 原文地址:https://www.cnblogs.com/war1111/p/13265254.html
Copyright © 2011-2022 走看看