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;
    }
  • 相关阅读:
    封装了一个简单的筛选菜单控件
    安卓存储资源
    处理webp加所有的jpg到指定路径
    苹果内购
    JavaScript关于md5加密
    JavaScript关于sha1加密
    h5跳转
    python遍历文件(替换)
    python遍历文件
    安卓点击home键重启
  • 原文地址:https://www.cnblogs.com/war1111/p/13265254.html
Copyright © 2011-2022 走看看