zoukankan      html  css  js  c++  java
  • P3397 地毯

    P3397 地毯

    前缀和
    最开始接触是在日照夏令营,lca的一段子树中加或减一个数
    然后打标记,求前缀和
    000+10000-100000
    000111110000
    二维也一样,比如对子矩阵都加1
    0+100000-10
    0+100000-10
    0+100000-10
    0+100000-10
    0+100000-10
    然后对整个矩阵求前缀和

    #include<iostream>
    #include<cstdio>
    #include<queue>
    #include<algorithm>
    #include<cmath>
    #include<ctime>
    #include<cstring>
    #define inf 2147483647
    #define For(i,a,b) for(register int i=a;i<=b;i++)
    #define p(a) putchar(a)
    #define g() getchar()
    //by war
    //2017.10.12
    using namespace std;
    int n,m,sum;
    int t[1010][1010];//1M
    int flag[1010][1010];//1M
    int a,b,c,d;
    void in(int &x)
    {
        char c=g();x=0;
        while(c<'0'||c>'9')c=g();
        while(c<='9'&&c>='0')x=x*10+c-'0',c=g();
    }
    void o(int x)
    {
        if(x>9)o(x/10);
        p(x%10+'0');
    }
    int main()
    {
        in(n),in(m);
        For(asd,1,m)
        {
            in(a),in(b),in(c),in(d);
            /*For(i,a,c)
              For(j,b,d)
               t[i][j]++;*/
            For(i,a,c)
            flag[i][b]++,flag[i][d+1]--;
        }
        For(i,1,n+1)
          For(j,1,n+1)
            {
                sum+=flag[i][j],t[i][j]=sum;
            }
        For(i,1,n)
         {
             For(j,1,n)
           o(t[i][j]),p(' ');
           p('
    ');
         }
         return 0;
    }
  • 相关阅读:
    js字符串加解密
    vue 项目 tab切换共用相同组件不刷新数据问题
    工具使用
    2021前端学习指南
    echart一个框里放三个饼图案例
    jquery的网络引用地址
    上传文件-jq
    异步按照同步顺序执行的function
    js加载顺序
    不安分的项目经理
  • 原文地址:https://www.cnblogs.com/war1111/p/7657733.html
Copyright © 2011-2022 走看看