【省选联考2024】季风

news/2024/10/23 11:20:50/文章来源:https://www.cnblogs.com/meteor2008/p/18076075

题面

题目描述

给定 \(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.hqwc.cn/news/819568.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

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 是一个开源项目,允许用户访问和修改其源代码,以便根据具体业务需求进行…

2024.10.23 鲜花

基础数据结构进阶恋ひ恋ふ縁 诚、意地の悪い神の所业か? 奇迹?縁?袂触合う不思议 花ひとひら揺れて 不意に宿ってた うなじ解いてく春风 戯れはそこそこに 恋手ほどきしてくだしゃんせ 汤気にほんのり頬染て 夜风に愿ふ …いざ!!蝶と舞ひ花となりて 衣を乱して祓いましょう…

使用EasyExcel实现导出excel文件时生成多级下拉选

前言 公司有个需求本来只涉及到两个下拉选项,后面就想能不能实现多个下拉选,当然我这里说的多个下拉选是联动的,比如我省、地市、区县这种。 实现步骤 1、添加EasyExcel的Maven依赖<dependency><groupId>com.alibaba</groupId><artifactId>easyexce…

【运维自动化-作业平台】如何快速执行脚本和分发文件

脚本执行和文件分发是作业平台最基本、最核心的两个原子功能,主要分页面快速执行和作业里步骤引用,使用逻辑一样,一起来看看具体如何使用快速执行脚本 核心实现原理就是基于gse的命令管道,把脚本内容以WebPortal的方式透传到目标服务器进行执行,可以页面输入脚本也可以引用…

CMDB平台(进阶篇):企业级CMDB的高阶教程

企业IT架构日益复杂,配置项数量庞大且关系错综复杂。为了有效管理这些配置项,确保IT服务的稳定性和可靠性,配置管理数据库(Configuration Management Database,简称CMDB)系统应运而生。本文将深入探讨企业搭建CMDB系统所需具备的要素,以及实践路径,旨在为企业提供有益的…