当前位置: 首页 > news >正文

低价企业网站搭建培训学校网站

低价企业网站搭建,培训学校网站,网站不收录排名会降吗,新浪体育新闻题目大意 原题面链接 在一个 1 0 9 W 10^9\times W 109W 的平面里有 N N N 个方块。我们用 ( x , y ) (x,y) (x,y) 表示第 x x x 列从下往上数的 y y y 个位置。第 i i i 个方块的位置是 ( x i , y i ) (x_i,y_i) (xi​,yi​)。现在执行无数次操作,每一次…

题目大意

  • 原题面链接

在一个 1 0 9 × W 10^9\times W 109×W 的平面里有 N N N 个方块。我们用 ( x , y ) (x,y) (x,y) 表示第 x x x从下往上数的 y y y 个位置。第 i i i 个方块的位置是 ( x i , y i ) (x_i,y_i) (xi,yi)。现在执行无数次操作,每一次操作如下:

  • 如果整个平面的最下面一行的 W W W 个位置上都有方块,那么把这一行的方块都消除掉。
  • 从下往上遍历每一个未被消除的方块,如果它不在最下面一行且它下面是空格子,将它向下移动一格。注意:只移动一格!

思路

观察数据范围,需要预处理。我们不妨令 t i i ti_i tii 表示第 i i i 个方块什么时候被消除。对于无法被消除的方块,其 t i i ti_i tii 为极大值。我们可以拿样例来寻找突破口,样例解释里面的那个图片如下:


观察一下,第二次操作执行完和第三次操作执行完的结果是一样的,所以继续执行下去,结果不会改变。也就是说,第三次操作及以后的操作都是“无效操作”,而其中可以消除的操作只有第二次,我们将其称为“有意义”。稍加观察可以发现,有意义的操作数量是每一列方块数量的最小值,很容易证明出来。

每一次有意义的操作之前我们可能需要一些(有的时候不需要)操作来让所有方块掉到地上,这种操作我们称之为“预备操作”。不难发现,预备操作的结束时间是每一列最下面的方块的纵坐标的最大值减一。所以有意义的操作的结束时间就是每一列最下面的方块的纵坐标的最大值(有点绕),可以用来更新 t i i ti_i tii

一个很重要的问题:怎么预处理每一列的那堆格子?开个 vector 数组,具体实现看代码。

那么在每一次询问的时候只要看 t i A j ti_{A_j} tiAj T j T_j Tj 的大小关系即可。

预处理部分代码

其实有点小细节能 hack,见文末彩蛋。

for (int i = 1; i <= n; i++)
{cin >> x[i] >> y[i]; // 读入v[x[i]].push_back(i); // 这一列的方块ti[i] = 1e9 + 7; // 极大值
}
int mn = 1e9 + 7; // 极大值
for (int i = 1; i <= w; i++)
{int cnt = v[i].size(); // 强转一下// int 类型不能直接和 unsigned int 类型取 minmn = min(mn, cnt);
}
for (int i = 0; i < mn; i++)
{int mx = 0; // 计算最大值for (int j = 1; j <= w; j++)mx = max(mx, y[v[j][i]]);for (int j = 1; j <= w; j++)ti[v[j][i]] = mx; // 更新
}

完整代码

我的提交记录

时间复杂度分析

预处理里面有个双重循环,为什么没有超时呢? m n mn mn 最大为 N N N,复杂度理论上来说是 O ( N ⋅ W ) O(N\cdot W) O(NW) 的,但是考虑到实际构造原因,其均摊时间复杂度是不会超时的,所以可以通过本题。

彩蛋

大框架没问题,有个小细节出锅了。请问题目保证输入按 y i y_i yi 升序排序了吗?没有!得自己排个序。注意一下,得用结构体排序,既可以让变量对应上,也可以存储初始下标。正确版本我还没写,应该没啥太大区别,遇到问题欢迎在评论里问我或私信沟通哦!要是有其他问题或者 hack 数据也可以联系我哦!

http://www.dinnco.com/news/45224.html

相关文章:

  • 微信购物商城小程序怎么弄沈阳沈河seo网站排名优化
  • 初识网站开发流程图网络工程师培训班要多少钱
  • 服务器搭建网站软件seo网站推广的主要目的
  • 专业做算命网站百度推广开户电话
  • 南通教育平台网站建设站长seo工具
  • 企业级java电商网站开发笔记sem是什么缩写
  • 中信国际建设公司网站seo推广优化服务
  • 关于申请建设网站的请示产品线上推广渠道
  • 怎样做b2b电商网站特点今日时事新闻
  • 浪琴手表网站建设图世界足球世界排名
  • php用什么工具做网站手机刷网站排名软件
  • 做网站利润郑州模板网站建设
  • 怎么做购物网站的分类目录珠海网站建设制作
  • 网站做签到功能柳市网站制作
  • 营销型网站建站站长工具域名查询
  • 网站做新浪图床我们公司在做网站推广
  • 建设银行大厂支行网站外贸网站seo教程
  • 做网站什么笔记本好用百度极简网址
  • 信息化建设杂志社官方网站河南郑州网站顾问
  • 花钱人做的网站做好后算谁的深圳seo关键词优化
  • 网站关键词提交中国网站排名100
  • 多少钱立案seo入门到精通
  • 西安做网站的公司网站推广找哪家公司好
  • 那个网站招丑的人做网红网上推广培训
  • 澄海网站建设公司上海专业做网站
  • 福州营销型网站建设巢湖seo推广
  • 成都市金堂县网站建设百度的广告
  • 做技术开发的网站平台怎么推广技巧
  • 做网站建设注册商标是多少类东莞网站到首页排名
  • 100M家用宽带可做网站服务器吗百度竞价搜索