【省选联考2024】季风

news/2024/10/23 11:23:59

题面

题目描述

给定 \(n,k,x,y\)\(2n\) 个整数 \(x_0,y_0,x_1,y_1,\dots,x_{n-1},y_{n-1}\)

找到最小的非负整数 \(m\),使得存在 \(2m\) 个实数 \(x_0',y_0',x_1',y_1',\dots,x_{m-1}',y_{m-1}'\) 满足以下条件,或报告不存在这样的 \(m\)

  • \(\sum \limits_{i=0}^{m-1} (x_i'+x_{i \bmod n})=x\)
  • \(\sum \limits_{i=0}^{m-1} (y_i'+y_{i \bmod n})=y\)
  • \(\forall 0\leq i\leq m-1,|x_i'|+|y_i'|\leq k\)

特别地,\(m=0\) 时,认为 \(\sum \limits_{i=0}^{m-1} (x_i'+x_{i \bmod n})\)\(\sum \limits_{i=0}^{m-1} (y_i'+y_{i \bmod n})\) 均为 \(0\)

输入输出与样例

输入格式

本题有多组测试数据。输入的第一行一个整数 \(T\) 表示测试数据组数。

对于每组测试数据,

  • 第一行四个整数 \(n,k,x,y\)
  • 接下来 \(n\) 行,第 \(i\) 行两个整数 \(x_{i-1},y_{i-1}\)

输出格式

对于每组测试数据输出一行一个整数,如果存在满足题意的 \(m\),输出其最小可能值,否则输出 \(-1\)

样例输入

4
1 2 2 2
1 1
1 2 -2 -2
1 1
1 2 0 0
1 1
2 100000000 100000000 100000000
-99999999 0
-100000000 0

样例输出

1
-1
0
399999999

样例解释

该组样例共有四组测试数据。

  • 对于第一组测试数据,取 \(m=1\)\((x_0',y_0')=(1,1)\) 满足条件,可以证明不存在更小的 \(m\) 满足条件;
  • 对于第二组测试数据,可以证明不存在任何非负整数 \(m\) 满足条件;
  • 对于第三组测试数据,取 \(m=0\) 满足条件,可以证明不存在更小的 \(m\) 满足条件。

数据规模与约定

\(\sum n\) 为单个测试点内所有测试数据 \(n\) 的和。对于所有测试数据:

  • \(1\leq T\leq 5\times 10^4\)
  • \(1\leq n\leq 10^5\)\(1\leq \sum n \leq 10^6\)
  • \(0\leq |x|,|y|,|x_i|,|y_i|,k\leq 10^8\)
测试点编号 \(n\leq\) \(\sum n\leq\) 特殊性质
\(1\) \(1\) \(300\) A
\(2\) \(1\) \(300\) B
\(3\) \(1\) \(300\) C
\(4\) \(1\) \(300\)
\(5\) \(200\) \(5000\) A
\(6\) \(200\) \(5000\) B
\(7\) \(200\) \(5000\)
\(8\) \(10^4\) \(10^5\) A
\(9\) \(10^4\) \(10^5\) B
\(10\) \(10^5\) \(10^6\)
  • 特殊性质 A:\(\forall 0\leq i \leq n-1\)\(|x_i|+|y_i| \leq k\)
  • 特殊性质 B:\(k=0\)
  • 特殊性质 C:\(x_0=y_0=0\)

【提示】

本题输入文件较大,请使用较为快速的输入方式。



题解

方法概述

简单的分讨和朴素(指无需复杂算法)的解决。

相信分讨以解决本题。有时候不一定非要找到一个可以解决所有情况的通解……这很可能导致在简单题上花费多余的时间精力(而且最终不一定做得出来)(←本人)

写部分分也是同理,它们有时候起到引导正解的作用。当然,如果能直接想到正解……%%%

正解做法

其实看到数据范围就想用二分(?)感觉像是\(O(n\log n)\)来做。结果最后没用二分,貌似大家都是分讨nya?(以及推式子的dalao)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/74974.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

nacos 下载与启动

1.情景展示 Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、…

浅析RocketMQ

SpringBoot引入RocketMQ 快速构建单机RocketMQ https://www.haveyb.com/article/3079 参考这篇文章,快速构建单机RocketMQ 项目引入jar包和配置<dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter</art…

STAR: A Simple Training-free Approach for Recommendations using Large Language Models

目录概符号说明STARRetrievalRanking最后的结果Lee D., Kraft A., Jin L., Mehta N., Xu T., Hong L., Chi E. H. and Yi X. STAR: A simple training-free approach for recommendations using large language models. 2024.概 本文提出了一种融合语义/协同/时序信息的方法, 使…

最近做题小结

https://www.luogu.com.cn/problem/AT_abc373_e这道题是个二分 然后标答是两个二分 我用的树组+二分 需要对代数式进行拆分才能得到 我一开始看错题目了 看成大于等于他的票的人不多于M就行 然后就很简单 我觉得可以改编下这个题 很明显 最终前m个人一定当选 那么对于每一个人 …

前端ai工具v0使用配置

资料 ai工具Vo Installation - Tailwind CSS 以vue3 + sass为例,配置如下 安装tailwindcss npm install -D tailwindcss npx tailwindcss init安装依赖(可选) npm install lucide-vue-next更新 tailwind.config.js /** @type {import(tailwindcss).Config} */ module.export…

ERP开源项目Odoo

Odoo Odoo 的全称是 On Demand Open Object。名称反映了 Odoo 的起源和核心理念: •On Demand:代表 Odoo 作为一个按需使用的系统,可以根据企业的需要定制和部署各种模块。 •Open Object:强调 Odoo 是一个开源项目,允许用户访问和修改其源代码,以便根据具体业务需求进行…