首页 > 其他分享 >ABC_234_ex sol

ABC_234_ex sol

时间:2024-08-28 19:36:57浏览次数:11  
标签:le dist int auto sol ABC Mp 234 ex

题意

在平面直角坐标系中找出所有\(dist(i, j) \leq k\)的点对个数\(\leq 4\times 10^5\)

\(1 \le n \le 2\times 10^5\)
\(1 \le k \le 1.5\times 10^5\)

hint

分块

不是ds

sol

考虑将网格分割,每\(k\)行\(k\)列分一格。注意到分完块以后对于一个点\((i, j)\)所在的块\(B_{(i, j)}\),和他距离\(\leq k\)的点必然会在这个块的四周(\(|dx|, |dy| \le 1\))。然后直接做发现常数非常的小,再加持上atcoder的机子就随便过了。复杂度不是很清楚是不是正确的。

code

贴出核心代码, 完整代码在Atcoder submission

  auto dist = [&](int i, int j) {
    return sqr(p[i].first - p[j].first) + sqr(p[i].second - p[j].second);
  };
  rep(i, 1, n) Mp[mkp(p[i].first / k, p[i].second / k)].eb(i);
  vector<pair<ll, ll> > ans;
  for (auto [pos, v] : Mp) {
    auto [x, y] = pos;
    rep(d, 0, 8) {
      int tx = x + dx[d], ty = y + dy[d];
      if (!Mp.count(mkp(tx, ty))) continue;
      for (auto i : Mp[pos])
        for (auto j : Mp[mkp(tx, ty)])
          if (i < j && dist(i, j) <= sqr(k)) ans.eb(i, j);
    }
  }

标签:le,dist,int,auto,sol,ABC,Mp,234,ex
From: https://www.cnblogs.com/georgeyucjr/p/18385431

相关文章

  • YOLOv9改进策略【卷积层】| 利用MobileNetv4中的UIB、ExtraDW优化RepNCSPELAN4
    一、本文介绍本文记录的是利用ExtraDW优化YOLOv9中的RepNCSPELAN4,详细说明了优化原因,注意事项等。ExtraDW是MobileNetv4模型中提出的新模块,允许以低成本增加网络深度和感受野,具有ConvNext和IB的组合优势。可以在提高模型精度的同时降低一定量的模型参数。文章目录一、......
  • 点击Excel中的邮箱地址,如何默认打开FoxMail邮箱。
    在Windows系统中,若要设置Foxmail为默认邮件程序,请按照以下步骤操作:1.打开控制面板(命令:control),选择“查看方式”中的“大图标”,找到并点击“默认程序”。 2.在默认程序界面,点击“将文件类型或协议与程序关联”。 3.在默认应用中,找到电子邮件,点击,选择Foxmail。通过......
  • [Paper Reading] Transfusion: Predict the Next Token and Diffuse Images with One
    Transfusion:PredicttheNextTokenandDiffuseImageswithOneMulti-ModalModellink时间:24.08机构:Waymo&UniversityofSouthernCaliforniaTL;DR提出一种使用混合模态token来训练transformer,名为transfusion,是一种生成式AI模型。主要工作使用了2T的tokens结合语言......
  • Java后端微服务架构下的服务依赖注入:Spring Cloud Context
    Java后端微服务架构下的服务依赖注入:SpringCloudContext大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在微服务架构中,服务间的依赖关系错综复杂,服务依赖注入是实现服务解耦和动态管理的关键技术。SpringCloudContext提供了一种机制,允许在Spring......
  • vxe-grid expandContent自定义展开的高度,以及展开的内容不要多于父vxe-grid会出现水平
    1、先上一张图,展示下效果:VxeTablev4.6默认是自适应高度的,也就是说我们只要指定展开的内容的最小高度就可以了。这样就可以保证展开的高度不会来回切换,并且我们可以限制容器里的内容的高度来实现。<stylelang="less"scoped>.sub-table{min-height:350px;......
  • C++学习随笔——lock_guard和mutex的使用方法
    std::mutex和std::lock_guard是C++标准库中用于多线程同步的工具,主要用于防止多个线程同时访问共享资源,导致数据竞争问题。 std::mutex是一个用于互斥锁的类,提供了锁定(lock)和解锁(unlock)的功能。使用方法:#include<iostream>#include<thread>#include<mutex>std::......
  • Excel导入数据时,配置单元格样式大全(POI)
    Excel导入数据时,配置单元格样式大全一:基础配置1.字体样式:Fontfont=workbook.createFont();font.setFontName("Arial");//设置字体名称font.setFontHeightInPoints((short)12);//设置字体大小font.setBold(true);//设置粗体font.setItalic(true);//设置斜体f......
  • iTextSharp提取PDF指定区域或整页文字,包括文字大小、颜色、字体等
    介绍iTextSharp:是一个从JAVA项目iText衍生的.Net版本的开源项目。iText是一个PDF库,可让您创建,移植,检查和维护可移植文档格式(PDF)的文档,从而使您可以轻松地向软件项目添加PDF功能。我们甚至提供文档来帮助您进行编码。可以操作PDF的库还有PDFsharp:PDFsharp是一个开源.NET库,......
  • 使用 pnpm workspace 和 standalone 模式构建 Next.js 的 Docker 镜像
    引言本文将探讨如何利用pnpmworkspace和standalone模式来构建Next.js应用程序的轻量级Docker镜像。这种方法通过仅在node_modules目录中包含必要的文件,显著减少了最终Docker镜像的大小。Standalone模式简介通常情况下,所有在dependencies中列出的包都会......
  • 解除 Excel 表格的文档保护全攻略
    在日常工作和学习中,我们可能会遇到Excel表格被保护无法编辑的情况。别担心,今天就为大家分享几种解除Excel表格文档保护的方法。一、导入腾讯文档可以将受保护的Excel表格上传到腾讯文档。在部分情况下,腾讯文档会尝试自动解除表格保护,这样你就能够编辑内容了。如果......