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

ARC103B(abc101D)

vjudge

给定 \(n\) 个数对 \((x_i, y_i)\),现在要构造一个长度为 \(m\) 的序列 \(d_1 \sim d_m\),要求 \(m \le 40\),对于每个 \(i\) 满足以下条件:构造 \(m - 1\) 个数对 \((a_j, b_j)\),对于每个 \(1 \le j \le m\),满足以下四种情况之一(其中 \((a_m, b_m) = (x_i, y_i), (a_0, b_0) = 0\)):

  • \(a_j = a_{j - 1}, b_j = b_{j - 1} + d_j\)
  • \(a_j = a_{j - 1}, b_j = b_{j - 1} - d_j\)
  • \(a_j = a_{j - 1} + d_j, b_j = b_{j - 1}\)
  • \(a_j = a_{j - 1} - d_j, b_j = b_{j -1}\)

无解输出 \(-1\),有解输出 \(d\),以及每个 \((x_i, y_i)\) 的每个 \(j\) 是哪种情况。

\(n \le 10^5, |x_i|, |y_i| \le 10^9\)

先判掉一些显然无解的情况。比如所有 \(x_i + y_i\) 的奇偶性必须相同,都和 \(\sum d_i\) 的奇偶性一致,因为即使暂时 \(a_j > x_i\),后面还要回来,一去一回,奇偶性不变。

找不到其他无解的情况,不妨先来构造一下,因为 \(x, y\) 放在一起考虑太麻烦,而走一步能到达的点都是曼哈顿距离为 \(d\) 的,不妨转化为切比雪夫距离。具体的,将 \((x_i, y_i)\) 变为 \((x_i + y_i, x_i - y_i)\),则条件转化为了 \(|a_j - a_{j - 1}| = d, |b_j - b_{j - 1}| = d\) 了,可以单独考虑。 单独解出来后计算方案就较为简单了。

其实问题就是转化为:为每个 \(d_j\) 分配一个符号,然后让它们的和为 \(x_i\)。(*)

这个还是比较经典的,我们令 \(d = \{1, 2, 4, \dots, 2^{30}\}(2^{31} > x + y)\),最开始所有的数符号均为负号,假设集合 \(S\) 中的元素为正号,那么 \(-\sum d_j + 2\sum\limits_{u \in S} u = x_i\),那么 \(\sum\limits_{u \in S} = \frac{x_i + \sum d_j}{2} = \frac{x_i + 2^{31} - 1}{2}\)。那么 \(S\) 为这个值中二进制为 \(1\) 的位即可。

但注意,这个只能在 \(x_i\) 为奇数的时候做,偶数就行不通了(解释了为啥最开始的 \(x_i + y_i\) 的奇偶性一定要相同)。偶数多加一个 \(1\),强制其符号为负数即可(使 \(\sum d\) + 1)。

时间复杂度:\(O(n \log V)\)\(m = 31 / 32\)

非常牛逼的构造题,用切比雪夫的思想将两部分分开,分别求解,求解时调整法即可。

http://www.jsqmd.com/news/139883/

相关文章:

  • 链表的基本操作,用链表实现线性表
  • 12/25
  • 如何进行 Python 和 Lua 之间的复杂数据交换
  • 游戏手柄电池没电了?靠谱供应商看这里 - 工业品网
  • 物联网智能灯具推荐:五大独家精选深度推荐 - 品牌测评家
  • 解码STM32F4环境搭建、工程搭建与烧录
  • (新卷,200分)- 找单词(Java JS Python)
  • 抽象圣诞树3
  • 段页式管理方式学习总结
  • 游戏手柄电池批发厂家哪里找?聚电新能源 - 工业品网
  • 一天面了6个前端开发,水平真的令人堪忧啊 - 教程
  • 游戏手柄电池选购指南:性价比、性能与环保面面观 - 工业品网
  • 物联网智能灯具哪家品质好:最新官方排名品质测评 - 品牌测评家
  • Intel CPU搭配NVIDIA显卡!Serpent Lake曝光:直指AMD超级APU
  • 实验七
  • 基于深度学习的水面垃圾检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
  • 游戏手柄电池选购指南:行业优势、品牌推荐与聚电新能源实力展现 - 工业设备
  • 游戏手柄电池选购指南:好用、靠谱又性价比高 - 工业设备
  • 体验访答:我的私有知识库新选择
  • 抽象圣诞树2
  • 刘诗诗元气高马尾造型美出圈!剪彩时细节动作尽显温柔底色
  • 支持RV32E的单周期NPC
  • 从化文旅宣传策划公司排名:用户增长300%黑马冲前列 - 品牌测评家
  • HTML数据看板快速开发:DeepSeek生成代码+浏览器直接渲染实操指南
  • Kappa 0.8代表什么?
  • 大数据技术核心解析与实操实战
  • html基本语法 - 详解
  • KS A/T ISO 8317-韩国儿童防护包装CRP测试
  • 【课程设计/毕业设计】基于SpringBoot和Vue.js的智慧社区管理系统基于Vue.js的在线智慧社区服务平台【附源码、数据库、万字文档】
  • 鹰速光电的Cameralink采集卡接入Labview办法