Monitor( HDU - 6514 ,子矩阵和 + 前缀和处理)

HDU6514 Monitor 知识点:前缀和,差分这个题本来就是一个二维的前缀和与差分问题,但是题目有一个要求比较搞,就是行数列数不限制,只给了总数的限制,那么只能用一维数组来模拟二维数组里面的前缀和与差分操作,这样就多好多细节,这里需要注意的是22到24行代码前面的if语句的判断,这个一开始我没写卡了好长时间,因为这里是边界,边界外面的减一差分数组其实是可以不写的,如果没有这个if语句那么其实就会写到下一行的第一个位置,如果是某行的末尾的话,之所以会出现这样的情况是因为我采用的一维到二维数组之间映射的是不留缝隙的映射,这个细节还是坑了 阅读详情

一.题目链接:

HDU-6514

二.题目大意:

给你 p 个红矩阵

一个整数 q,接下来 q 行

每行给出一个蓝矩阵

如果蓝矩阵被完全包含于红矩阵内,输出 "YES",否则输出 "NO".

三.分析:

赛后听 ltr 讲才恍然大悟,不就是这两道题的结合吗?(tql  orzzzz)

最大子矩阵(HDU - 1559,前缀和)

Color the ball(HDU - 1556,前缀和)

其实就是利用 前缀和处理 + 矩阵和 算出哪些区域是被红矩形标记过的

之后将标记过的点置为 1 ,再来一次前缀和.

之后 O(1) 查询蓝矩阵的子矩阵和即可.

四.代码实现:

#include <set>
#include <map>
#include <ctime>
#include <queue>
#include <cmath>
#include <stack>
#include <vector>
#include <cstdio>
#include <sstream>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#define eps 1e-6
#define pi acos(-1.0)
#define ll long long int
using namespace std;

const int M = (int)1e7;

vector < vector<int> > mp;
vector < vector<int> > sum;

void init(int n, int m)
{
    mp.clear();
    sum.clear();
    mp.resize(n + 5);
    sum.resize(n + 5);
    for(int i = 0; i < n + 5; ++i)
    {
        mp[i].clear();
        sum[i].clear();
        mp[i].resize(m + 5);
        sum[i].resize(m + 5);
    }
}

void get_sum(int n, int m)
{
    for(int i = 1; i <= n; ++i)
    {
        for(int j = 1; j <= m; ++j)
        {
            sum[i][j] = sum[i][j - 1] + sum[i - 1][j] - sum[i - 1][j - 1] + mp[i][j];
        }
    }
    for(int i = 1; i <= n; ++i)
    {
        for(int j = 1; j <= m; ++j)
        {
            if(sum[i][j])
                mp[i][j] = 1;
            else
                mp[i][j] = 0;
            sum[i][j] = 0;
        }
    }
    for(int i = 1; i <= n; ++i)
    {
        for(int j = 1; j <= m; ++j)
        {
            sum[i][j] = sum[i][j - 1] + sum[i - 1][j] - sum[i - 1][j - 1] + mp[i][j];
        }
    }
}

int main()
{
    int n, m;
    while(~scanf("%d %d", &n, &m))
    {
        init(n, m);
        int p;
        scanf("%d", &p);
        while((p--) > 0)
        {
            int x1, y1, x2, y2;
            scanf("%d %d %d %d", &x1, &y1, &x2, &y2);
            swap(x1, x2);
            x1 = n - x1 + 1;
            x2 = n - x2 + 1;
            mp[x1][y1]++;
            mp[x2 + 1][y2 + 1]++;
            mp[x1][y2 + 1]--;
            mp[x2 + 1][y1]--;
        }
        get_sum(n, m);
        int q;
        scanf("%d", &q);
        while((q--) > 0)
        {
            int x1, y1, x2, y2;
            scanf("%d %d %d %d", &x1, &y1, &x2, &y2);
            swap(x1, x2);
            x1 = n - x1 + 1;
            x2 = n - x2 + 1;
            int ans = sum[x2][y2] - sum[x1 - 1][y2] - sum[x2][y1 - 1] + sum[x1 - 1][y1 - 1];
            int area = (x2 - x1 + 1) * (y2 - y1 + 1);
            if(ans == area)
                puts("YES");
            else
                puts("NO");
        }
    }
    return 0;
}

 

告别密码本!用Windows NPS给华为/华三交换机做Radius认证,SSH登录更安全 本文详细介绍了如何利用Windows NPS实现华为/华三交换机的Radius认证,提升SSH登录安全性。通过集中化管理、精细化控制和完整审计追踪,企业可告别传统密码本,大幅提升网络设备管理效率。文章包含NPS服务部署指南、交换机配置详解及调试技巧,助力企业构建安全高效的统一认证体系。 阅读详情

相关推荐

LabVIEW+数据库应用系列保姆级教程,第一篇数据库连接

目录LabVIEW连接数据库的方法连接MySQL连接Oracle,SQL Server,Access等 LabVIEW连接数据库的方法 1、创建udl(Universal Data Link)是通用数据连接文件。界面操作,简单快捷。 2、编写连接字符串。需要熟悉连接字符串的结构,容易出错。 3、其他… 本教程教你使用第1种方法,也是最简单、最常用的方法。 连接MySQL 1、在MySQL Installer内安装MySQL Connector/ODBC,建议安装32位(X86),如下图: 2、创建ODBC

wwplh5520370的博客 1万+

HDU--6514(Monitor)(二维差分,前缀和)

题意:每个监控都监控到一个矩形区域,问给定的矩形区域能不能完全被监控覆盖。 思路:如果对每个监控内的范围每次都去逐个改变的话会TLE…这时候类似一维前缀和差分的思想,采用二维差分,思想和一维类似,只是把图拓展到二维,由于监控重不重复覆盖都是覆盖的情况,所以差分处理后要把非0数(即监控次数)全部置为1,然后再去求所求矩形面积是否等于该范围内监控覆盖的面积即可。 代码如下:(由于n*m=10^7的数据...

weixin_44756457的博客 581

从TM1到TM9:手把手教你用Wireshark抓包分析LTE下行调度与传输模式切换

本文详细解析了如何使用Wireshark抓包分析LTE下行调度中的传输模式切换,从TM1到TM9的动态调整过程。通过实战案例,包括小区边缘移动、高速场景和多用户调度,揭示eNodeB如何基于信道质量指标(如RSRP、SINR)动态切换传输模式,并提供关键信令解析和优化建议,助力网络工程师提升LTE网络性能。

weixin_42651748的博客 315

HDU---6514:Monitor【二维差分】

题意: 给你N个监控器,每个监控器的监控范围都是一个矩形,再给出Q个查询,问查询的矩形是否被完全监控 分析: 二维差分: 和一维差分有异曲同工之处,如果我们想把左上角(x1,y1),右下角(x2,y2)的矩形中的每一格+1,先标记a[x1][y1] +=1,a[x1][y2+1] -= 1,a[x2+1][y1] -= 1,a[x2+1][y2+1] += 1;最后再求一遍二维前缀和即可得...

KobeDuu 380

GoldenDB 兼容模式冲突场景解析:MySQL 连接模式 vs Oracle 语法兼容

GoldenDB 兼容模式冲突场景解析:MySQL 连接模式 vs Oracle 语法兼容

weixin_45207751的博客 2250

PS/2鼠标接口协议

一、PS/2鼠标接口        PS/2接口用于许多现代的鼠标和键盘,由IBM最初开发和使用。物理上的PS/2接口有两种类型的连接器:5脚的DIN和6脚的MINI-DIN。        二、鼠标的接口协议原理             PS/2鼠标接口采用一种双向同步串行协议。即每在时钟线上发一个脉冲,就在数据线上发送一位数据。但是在相互传输中 ,主机是拥有总线控制权的

Ant's home 1万+

二维差分(HDU - 6514)

题目链接 Time Limit Exceeded代码: #include<stdio.h> #include<cstring> using namespace std; const int MAX=1e7+5; int main() { int n,m; while(scanf("%d %d",&n,&m)!=EOF) { bool vis[n+2][m+2]; memset(vis,false,sizeof(vis)); int p,q,x1,y

菜鸡的博客 277

vscode中使用PlatformIO创建工程加载慢

解决使用VSCODE+PlatformIO中,第一次新建工程一直加载的问题

Reasally的博客 4975

HDU—6514 Monitor(二维差分数组维护)

Monitor Time Limit: 6000/3000 MS (Java/Others)Memory Limit: 163840/163840 K (Java/Others) Total Submission(s): 852Accepted Submission(s): 266 Problem Description Xiaoteng has a large area...

Ginsn的博客 459

【RBF预测】基于粒子群算法优化RBF神经网络实现数据回归预测含Matlab源码

1 简介 原油含水率预测对于确定油井水,油层位以及估计原油产量有着非常重要意义.BP神经网络是最近常用的原油含水率预测方法,然而,由于BP神经网络存在容易陷入局部极小值,收敛速度慢等问题,影响了其预测的实用性和准确性,对此,提出基于粒子群优化RBF神经网络(PSO-RBFNN)的原油含水率预测方法,粒子群优化算法用于RBF神经网络参数优化.在分析原油含水率预测的影响因素基础上,建立粒子群优化RBF神经网络的原油含水率预测模型.实验结果表明,在原油含水率预测中,基于粒子群优化RBF神经网络比BP神经网络有着

qq_59747472的博客 1233

基于模糊神经网络实现水质评价预测 - Matlab源码

首先定义输入层、隐含层和输出层的节点数,并初始化权重和阈值,然后开始训练模型,在每轮训练中通过比较模型的输出值与实际值的误差来更新权重和阈值,直到误差达到最小值,为了提高模型的性能,我们可以采用交叉验证等技术进行优化。首先需要准备好数据集,使用的是嘉陵江的水质监测数据集,数据集包含了多个指标,如 pH 值、溶解氧、总氮、总磷等,以及相应的水质等级,我们需要将数据集分为训练集和测试集。在当今环境日益恶化的情况下,水质监测变得越来越重要,模糊神经网络作为一种新型的。

weixin_50547796的博客 147

D - Monitor HDU - 6514 (二维前缀和差分处理)

  题目链接: D - Monitor HDU - 6514 题目大意:给你一个n*m的矩阵,然后在这个n*m的矩阵中有q个子矩阵被覆盖,然后q次询问,问你当前询问的子矩阵是不是被完全覆盖。 具体思路: 首先n和m不知道多大,我们可以把矩阵转换成点进行计算(i-1)*m+j.然后就是二维前缀和的处理了。 具体处理的时候是从下往上更新的,具体的端点赋值大体推理一遍就好了。 ...

diaomeijiao3430的博客 185

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

hdu6514 Monitor(二维差分)

题目大意:先给出一个n*m的范围,然后给出p个监控矩形的左下角和右上角,最后有q个询问,问给出左下角和右上角的矩形是否完全被监控到。 思路:一般处理方法,将能监测的地方矩阵设为1,不能监测的地方矩阵设为0,一个矩阵能否被这些监控完全监控到,就是看是否这个矩阵是否全为1,进一步 也就是看这个矩阵的和是否等于这个矩阵的面积。 可是如果我们按照上述思路模拟的话,在第一步 标1的步骤就会超时。这可怎么...

一身清贫怎敢入繁华 577

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

HDU 6514 前缀和

题解 传送门 HDU 6514 Monitor 题解 对每个监视器所覆盖的矩形区域进行二维差分,取前缀和得到 sumi,jsum_{i,j}sumi,j​ 代表点 (i,j)(i,j)(i,j) 被覆盖的监视器数量,因为只考虑点是否被覆盖,那么取 sumi,j=sign(sumi,j)sum_{i,j}=sign(sum_{i,j})sumi,j​=sign(sumi,j​)。为了 O(1)O(1)O(1) 求解偷盗者覆盖矩形区域是否都覆盖了监视器,对 sumi,jsum_{i,j}sumi,j​ 取前缀和

neweryyy的博客 296

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

HDU - 6514 (Monitor)

题意:有一个 n*m 的矩阵田地,现在安装 p 个摄像头,每个摄像头都会监视一个矩形的区域,然后现在有若干伙作案团伙回来偷菜,他们偷菜的区域也是一块矩形区域,现在问你,p 个摄像头能不能完全把这块被偷的区域监视到; 分析:二维差分; 代码: #include<cstdio> #include<iostream> using namespace std; ...

Joker & Liar的博客 312

HDU 6514 - Monitor(前缀和与差分)

Problem Description Xiaoteng has a large area of land for growing crops, and the land can be seen as a rectangle of n×mn×mn×m. But recently Xiaoteng found that his crops were often stolen by a group of people, so he decided to install some monitors to find

weixin_53024141的博客 444

Monitor HDU - 6514(二维差分+二维前缀和+不定长数组使用)

小滕有一大片土地用来种植农作物,土地可以看成一个 n×m 的长方形。 但是最近小腾发现自己的农作物经常被一群人偷走,于是他决定安装一些监控器,把所有的人都找出来,然后和他们谈判。 可是小腾买的监控器不好,每个监控器只能监控一个长方形内的农作物。小腾安装的监控器有 p 个,每个监控器监控的长方形是已知的。 小腾猜测小偷也会偷 q 次的农作物,他也猜到了他们要偷的范围,也是一个长方形。小腾想知道他的监控器是否能同时看到所有的小偷。 Input 有多个测试案例。 每个案例的开头一行包含两个整数 n,m(1≤

Alanrookie的博客 670

Monitor HDU - 6514 (二维差分)

Monitor HDU - 6514 (二维插分) Xiaoteng has a large area of land for growing crops, and the land can be seen as a rectangle of n×m. But recently Xiaoteng found that his crops were often stolen by a group o...

weixin_43179892的博客 489

HDU - 6514  Monitor

Monitor Time Limit: 6000/3000 MS (Java/Others)Memory Limit: 163840/163840 K (Java/Others) Total Submission(s): 71Accepted Submission(s): 21 P...

柳予欣的三味书屋~ 359

HDU 6514 Monitor(二维前缀和)

Monitor Time Limit: 6000/3000 MS (Java/Others)Memory Limit: 163840/163840 K (Java/Others) Total Submission(s): 192Accepted Submission(s): 47 Problem Description Xiaoteng has a large area ...

LSD20164388的博客 1382

Monitor HDU - 6514 (二维前缀和)

题目 https://cn.vjudge.net/problem/HDU-6514 题意 给你个n*m 的图 给你若干矩形去覆盖 查询若干矩形是否被全部覆盖 思路 二维前缀和 计算查询面积覆盖的面积是否等于他本身面积 #include <bits/stdc++.h> using namespace std; int z[10000006]; int sum[100000...

七九河开的博客 379

HDU 6514 Monitor(二维差分+前缀和)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6514 题目大意 给定一个二维平面范围, 和p个监视区,q个偷盗区, 监视区和偷盗区形状是矩形, q个询问问偷盗区是否被监控去完全覆盖. 题目分析 二维差分,蛮套路的, 如果知道一维的情况那么二维不难, 比如(x,y),(p,q)给定这两个坐标点, 那么我们要想让这个矩形区域...

满月照亮的路 424

HDU - 6514 - Monitor(二维差分)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6514 题意:n*m的矩阵,给出p个监控器的监控矩阵范围,q次询问,给出一矩阵,如果能全部监控到输出YES,否则输出NO。 思路:二维差分,但是数据比较大开不了二维数组,可以用vector <vector <int> >,或者对于每一个二维hash成一维,然后求一下前缀和,然...

sugarbliss 868

HDU6514

#include<iostream> #include<cstdio> #include<cmath> #include<cstring> #include<string> #include<algorithm> using namespace std; int n, m; int p, q; int main() { while(scanf("%d%d",&n,&m)!=EOF) { vector&.

qq_51010640的博客 230

hdu6514 Monitor (二维前缀和*2+二维差分)

Monitor hdu6514 Problem Description 小腾拥有大面积的农作物种植用地,可以看到面积为n×m的长方形。 但是最近小腾发现他的庄稼经常被一群人偷,所以他决定安装一些监控器来找到所有的人,然后和他们谈判。 然而,小腾买了坏显示器,每个显示器只能监控一个长方形内的农作物。Xiaoteng安装了p个监视器,每个监视器监控的矩形是已知的。 小腾猜小偷也会偷q倍的庄稼。他还猜出...

zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz 546
上一篇: 连接的管道 (HDU - 5253 ,自己建边的最小生成树)
下一篇: Mayor's posters (POJ - 2528,离散化 + 线段树)
The___Flash
博客等级 码龄8年 79粉丝 223原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值