洛谷3397地毯

Posted FISH-Q

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了洛谷3397地毯相关的知识,希望对你有一定的参考价值。

 

 

 

 问题分析:
这个比y总的二维差分模板要简单一些,因为他一开始的矩阵都为0,而且矩阵是一个n方阵,那么其实可以用y总的模板来写, 下面是二维差分矩阵的原理

 

 

#include <iostream>

using namespace std;

const int N = 1010;
int b[N][N];

void insert(int x1, int y1, int x2, int y2)

    b[x1][y1] += 1;
    b[x2 + 1][y1] -= 1;
    b[x1][y2 + 1] -= 1;
    b[x2 + 1][y2 + 1] += 1;

int main()

    int n, m;
    scanf("%d%d", &n, &m);
    while(m -- )
    
        int x1, y1, x2, y2;
        scanf("%d%d%d%d", &x1, &y1, &x2, &y2);
        insert(x1,y1,x2,y2);
    
    
    for(int i = 1; i <= n; i ++ )
    
        for(int j = 1; j <= n; j ++ )
        
            b[i][j] += b[i - 1][j] + b[i][j - 1] - b[i - 1][j - 1];
            printf("%d ", b[i][j]);
        
        puts("");
    
    

 

洛谷 P3397 地毯

P3397 地毯

题目背景

此题约为NOIP提高组Day2T1难度。

题目描述

n*n的格子上有m个地毯。

给出这些地毯的信息,问每个点被多少个地毯覆盖。

输入输出格式

输入格式:

 

第一行,两个正整数n、m。意义如题所述。

接下来m行,每行两个坐标(x1,y1)(x2,y2),代表一块地毯,左上角是(x1,y1),右下角是(x2,y2)

 

输出格式:

 

输出n行,每行n个正整数。

i行第j列的正整数表示(i,j)这个格子被多少个地毯覆盖。

 

输入输出样例

输入样例#1:
5 3
2 2 3 3
3 3 5 5
1 2 1 4
输出样例#1:
0 1 1 1 0
0 1 1 0 0
0 1 2 1 1
0 0 1 1 1
0 0 1 1 1

说明

样例解释

0 0 0 0 0         0 0 0 0 0        0 1 1 1 0
0 1 1 0 0         0 1 1 0 0        0 1 1 0 0
0 1 1 0 0    ->   0 1 2 1 1   ->   0 1 2 1 1
0 0 0 0 0         0 0 1 1 1        0 0 1 1 1
0 0 0 0 0         0 0 1 1 1        0 0 1 1 1

数据范围

对于20%的数据,有n<=50m<=100

对于100%的数据,有n<=1000m<=1000

 

/*简单的模拟 O(n^3) 没问题*/
#include<cstdio>
using namespace std;
const int MAXN=1010;
int n,m,a[MAXN][MAXN];
int main()
{
    scanf("%d%d",&n,&m);
    for(int i=1;i<=m;i++)
    {
        int x,y,x2,y2;
        scanf("%d%d%d%d",&x,&y,&x2,&y2);
        for(int j=x;j<=x2;j++)
            for(int k=y;k<=y2;k++)
                a[j][k]++;
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
            printf("%d ",a[i][j]);
        printf("\n");
    }
    return 0;
}

 

以上是关于洛谷3397地毯的主要内容,如果未能解决你的问题,请参考以下文章

P3397 地毯

洛谷 P1003 铺地毯

洛谷P1003 铺地毯

洛谷—— P1003 铺地毯

洛谷——P2121 拆地毯

AC日记——铺地毯 洛谷 P1003(水水水水水~)