找到一个有效的算法在给定的正方形矩阵的子矩阵应答查询 [英] Finding an efficient algorithm to answer queries in a submatrix of a given square matrix

查看:185
本文介绍了找到一个有效的算法在给定的正方形矩阵的子矩阵应答查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图解决矩形查询,从2013年12月$问题C $ cChef比赛

给定一个方阵的N×N,充满整数{1,.. 10}。我们给出了Q(10 ^ 5)查询如下 定的X1,Y1,X2,Y2找到在给定的子矩阵独特的元素的数量。

Given a square matrix N x N, filled with integers from {1,..10}. We are given Q(10^5) queries as follows given x1,y1, x2,y2 find the number of unique elements in the given sub matrix.

限制: N'LT = 300 Q(10 ^ 5) X1< = X< = N Y1< = Y2< = N 期限1秒。

Limits: N <= 300 Q (10^5) x1 <= x2 <= N y1 <= y2 <= N time limit 1 sec.

我曾尝试使用std的方法::的唯一性,但得到TLE ......我的做法是幼稚的设置...从顶部循环从左上到右下的查询,添加元素set..then打印的std :: set.size()。

I have tried an approach using std::set for uniqueness but getting TLE...MY approach is naive...looping from top left to bottom right for a query and adding elements to set..then printing std::set.size().

推荐答案

有两种可能的方法: -

There are two possible approaches :-

  1. 解决这个问题你自己,让辛苦赚来的积分。

  1. Solve the problem on your own and get hard earned points.

等待比赛结束,并查看解决方案的社论。

Wait for contest to end and view solutions in editorials.

祝你好运。

这篇关于找到一个有效的算法在给定的正方形矩阵的子矩阵应答查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆