[2024.11.20]NOIP 模拟赛

news/2024/11/20 14:10:14/文章来源:https://www.cnblogs.com/Lydic/p/18556677

鲜花:今年又在 luogu 被卡7级线了。

赛时

T1 看见区间操作还以为是贪心+数据结构,然后再看两眼发现这原来是个伪装的多测。

对于每一个元素 \(m\),相当于要构造一组 \(xA+yB=m\)\((x,y)\) 解,这是扩欧。

单纯是不行的,题目上要使得 \((|x|+|y|)_{min}\)

但是我忘记了扩欧的通解公式了,所以以下内容是我赛时的手推过程:(肯定不是最简的,只是赛时乱推的)

求出来扩欧的 \((x,y)\) 并判断无解后,先令

\[X'=\frac{xm}{\gcd(A,B)},Y'=\frac{ym}{\gcd(A,B)} \]

然后设置两个偏系数 \(a,b\) 使得

\[(X'+a)A+(Y'-b)B=m \]

拆项得

\[(X'A+Y'B)+aA-bB=m \]

移项得 \(aA=bB\)

因为有两个变量,不好处理,所以要把它们用同一个变量表示出来。

把原式变成

\[a\frac{A}{\gcd(A,B)}\gcd(A,B)=b\frac{B}{\gcd(A,B)}\gcd(A,B) \]

然后同时乘 \(\gcd(A,B)\)

\[aA\gcd(A,B)=bB\gcd(A,B) \]

从而有

\[\frac{a\gcd(A,B)}{B}=\frac{b\gcd(A,B)}{A} \]

于是令 \(\frac{a\gcd(A,B)}{B}=\frac{b\gcd(A,B)}{A}=k\),得

\[a=\frac{Bk}{\gcd(A,B)},b=\frac{Ak}{\gcd(A,B)} \]

推出来这个以后,就可以得到 \(k=x\)\((|x|+|y|)=y\) 的函数关系式为

\[y=|X'+\frac{B}{\gcd(A,B)}x|+|Y'-\frac{A}{\gcd(A,B)}x| \]

感性看一眼发现这玩意下凸,所以可以用三分求解(虽然能求零点,但我忘了这个的正确性了,保险起见用了三分)

写了一遍就过了。

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

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

相关文章

8、tnsnames文件配置

监听的配置文件 2、tnsnames.ora文件 tnsnames.ora文件:客户端的 配置tnsnames.ora监听文件 1、使用netca命令 指定图像映射机器 [oracle@db11g admin]$ export DISPLAY=192.168.56.1:0.0netca命令 [oracle@db11g admin]$ netca2、选择local net service name configuration,…

Redis中常见的数据类型及其应用场景Ib

五种常见数据类型 Redis中的数据类型指的是 value存储的数据类型,key都是以String类型存储的,value根据场景需要,可以以String、List等类型进行存储。各数据类型介绍:Redis数据类型对应的底层数据结构String 类型的应用场景 常用命令存放键值:set key value [EX seconds] …

博客园-awescnb插件-geek皮肤优化-links优化

简介 博客园-awescnb插件-geek皮肤下,对自定义链接(links)优化将自定义链接添加至原主链接下,同时适配移动端场景效果实现定义自定义HTML: 博客园->管理->设置->页脚 HTML 代码 添加相关代码//生成链接function createLinks(){for(let item of config.links){const…

一个基于 .NET 8.0 构建的简单、跨平台、模块化商城系统mt

公司SaaS系统有个给客户的员工发放金币,最后计算金币老是流水和总额对不上,以前负责这块的人做过修改还是不对,后来这负责人离职,接手大数据的事情后,该客户真在用金币这块业务,而且财务用这个结算对账,2023年底客户逼急了,要彻底解决这个问题:和负责这块的产品经理沟通…

Flutter手势组件(4):MouseRegion

一、MouseRegion介绍 在我们进行 h5 开发的时候,我们都知道css有一个hover来改变元素的样式,那么我们在Flutter中也可以通过MouseRegion是监听区域内鼠标的进入和退出以及移动轨迹。 二、什么情况下使用MouseRegion? MouseRegion常用于Flutter的Web开发或者桌面程序中,当我…

Flutter手势组件(3):GestureDetector

一、GestureDetector介绍 在前面的文章中我们介绍了Listener,而GestureDetector是对Listener的封装,提供非常多的手势,包括单击、双击、拖动、混合手势等。 二、什么情况下使用GestureDetector? 当我们需要对文字需要增加点击事件时,或者需要对组件进行拖动、缩放等那我们就…

11.18 学习

11.18 学习 1.sqlselect m.user_id,round(ifnull(cfnum/p,0),2) confimation_rate from (select a.user_id,ifnull(num,0) p from Signups a left join (select user_id,count(*) num from Confirmations group by user_id)b on a.user_id=b.user_id) m left join(select user_…

2024-11-20:交替子数组计数。用go语言,给定一个二进制数组 nums, 如果一个子数组中的相邻元素的值都不相同,我们称这个子数组为交替子数组。 请返回数组 nums 中交替子数组的总数。 输

2024-11-20:交替子数组计数。用go语言,给定一个二进制数组 nums, 如果一个子数组中的相邻元素的值都不相同,我们称这个子数组为交替子数组。 请返回数组 nums 中交替子数组的总数。 输入: nums = [0,1,1,1]。 输出: 5。 解释: 以下子数组是交替子数组:[0] 、[1] 、[1] …

登录对话框

1.粉红(1)显示   (2)格式/**该页面为粉红色皮肤 *//*背景*/ #frame_background{ border-image:url(:/res/pic/background-1.png); }/*登录背景*/ #frame_login{background-color:#ffffff}/*右侧图片*/ #frame_pic{background-image:url(:/res/pic/1.png);} /*账户和密码框…

Windows注册表增加右键多级菜单

前言全局说明一、说明 环境: Windows 11 家庭版 23H2 22631.3737Windows 7 旗舰版二、注册表说明 2.1 项说明 HKEY_CLASSES_ROOT*:系统所有文件,右键系统任一文件都会添加右键菜单 HKEY_CLASSES_ROOT\.txt:在.txt文件,添加右键菜单 HKEY_CLASSES_ROOT\AllFilesystemObjects…

关于使用Pycharm新建flask项目 from flask 红色波浪线解决办法

首先保证 flask已经安装 pip install flask如果依旧报红,依次打开:设置->项目:->项目结构点击 添加内容根 选择当前项目的.venv/Lib/site-packages最后应用保存

Day34--方法的重写

Day34--方法的重写 override 重写 重写是方法的重写,和属性无关 示例: 创建下面三个java文件,并在A.java B.java里面创建方法,Application里面初始化A并引用test方法 ​ A类是B类的子类 package com.liu.oop.demo05;public class A extends B{public static void test…