首页 > 其他分享 >关于解数论不等式

关于解数论不等式

时间:2023-11-12 23:37:03浏览次数:29  
标签:le 不等式 min 数论 bmod 关于 ax aligned

今天在群里又看到了经典的数论不等式:\(\min x, s.t. L \le ax \bmod b \le R\)。以及杜岩旭问这个是不是等价于 \(\min at \bmod b, t \in [L, R]\)。实际上当然是等价的。首先我们可以胡乱处理一下令 \(a \perp b\),无论在哪个问题中都是一样的,这样有逆元。接下来,先考虑如何前者变成后者。容易发现令 \(t = ax \bmod b\) 会导出 \(x \bmod b = a^{-1}t \bmod b\)。而在前一个问题的最优解中不会出现 \(x >= b\) 毕竟这时候肯定出循环了,所以我们放心大胆地令 \(x = ta^{-1} \bmod b\),这样就变成了 \(\min a^{-1}t \bmod b, s.t. t\in [L, R]\)。反过来后者变前者也是一样,直接令 \(x = at \bmod b\),则 \(t = a^{-1}x\bmod b\) 于是解决了。注意到我们还需要考虑这个 \([L, R]\) 不包含于 \([0, b)\) 的情况,但是你可以直接把区间拆成前后缀两个,然后取最小值;而如果完整包含一个周期答案就直接为 \(1\) 了。所以互相转化是容易的。

接下来考虑这个玩意的解法(当然假设 \([L, R]\subseteq[0, b)\)):

\[\begin{aligned} L \le ax \bmod b \le R\\ L \le ax - by \le R\\ ax - R \le by \le ax - L \end{aligned} \]

到这一步除了 \(\LaTeX\) 没有对齐以外应该没有什么问题。那么考虑直接给这个不等式两边(三边?)同时 \(\bmod a \):

\[\begin{aligned} (ax - R) \bmod a \le by \bmod a \le (ax - L) \bmod a\\ (-R) \bmod a \le (b \bmod a)y \bmod a \le (-L) \bmod a \end{aligned} \]

注意到这里让系数 \(b\) 对 \(a\) 取模了!然后两者交换了位置,这完全就是辗转相除法!此外我们只需要最小化 \(y\) 即可最小化 \(x\),所以这个问题结构和上面是完全相同的。唯一的问题是这么做一看就不对,仔细分析一下就更不对了。怎么让它变对呢?

考虑啥时候这个东西是对的。注意到如果按照除以 \(a\) 的商划分数轴,当 \([-R, -L]\) 全在同一段的时候这样取模就是对的。如果不全在同一段怎么办?注意到这时候 \([L, R]\) 内至少有一个 \(a\) 的倍数,然后你回过头看看原问题发现这时候有平凡解——直接选择区间内第一个 \(a\) 的倍数即可。所以把这个特判掉,开香槟。我们的做法是小常数单 \(\log\) 的,只要写十行,比什么万能欧几里得牛到不知道哪里去了。

标签:le,不等式,min,数论,bmod,关于,ax,aligned
From: https://www.cnblogs.com/kyeecccccc/p/17828160.html

相关文章

  • mysql关于主表和从表
    typeGoodsstruct{BaseModelCategoryIDint32`gorm:"type:int;notnull"`CategoryCategoryBrandsIDint32`gorm:"type:int;notnull"`BrandsBrands} Goods是从表,从表中addforeignkey关系,reference主表altertab......
  • 关于node安装的一些琐事
    macbook M12020node版本管理使用nvmnvmls  查看当前安装的node版本nvminstall14.21.3 下载14.21.3版本nvmuse14.21.3   使用node版本nvmaliasdefault14.21.3   需要将Node.js14.21.3设置为默认版本node安装一些报错处理方式1、 看起来是在尝试......
  • 有关于时间转换问题
    有关于时间转换split函数s1='lcyisapig'foriins1.split():#['lcy','is','a','pig']print(i)s2='lcyisapig'foriins2.split(''):#['','lcy','......
  • 关于 deamon 与 systemctl ,systemd , ubuntu20 自启动脚本
    deamon是指的守护进程,但是什么是守护进程呢,从网上查了一下,就是在后台运行的程序就叫做守护进程。     接下来看一下关于systemd的自启动的配置文件。       疑问:1 unit与target到底又什么关系呢?2到底有多少个unit......
  • 康奈尔大学生物信息中心主任关于基因组组装报告
    Dr.QiSun是康奈尔大学高级研究员和生物信息学中心主任,长期以来从事生物信息学工作,在大数据的管理与分析上,特别是Genotype-By-Sequence(GBS),RNA-seq,ChIP-seq,smallRNA,基因调控网络等方面积累了丰富的经验。在Science,Cell,NatGenet,NatureBiotechnol等高水平期刊上发表论文40余......
  • Java中关于try...catch的return规则
    本部分针对有return要求的异常捕获和处理,具体的,try...catch语句存在于方法体中。方法体中的try...catch的return总共有四种可能的地方:try,catch,finally,方法体末尾(try…catch外)。共存规则finally中的return和方法return不能同时存在。(显而易见的第一法则!)try中的return......
  • 关于 SAP ABAP OLE 技术和一些局限性介绍
    OLE(ObjectLinkingandEmbedding)是一种用于在不同应用程序之间共享信息和功能的技术。它允许在一个应用程序中嵌入另一个应用程序的内容或链接到其内容。这种技术最初由微软开发,旨在促进不同软件之间的交互和数据共享。在SAPABAP开发中,OLE技术允许在SAP应用程序中集成和与其他W......
  • 关于W3C制定的 JavaScript 标准事件模型,先事件捕获从windows > document 往下级直到
    关于W3C制定的JavaScript标准事件模型,先事件捕获从windows>document往下级直到特定的事件节点,然后进行事件处理,再事件冒泡,从特定节点往上级,这个完整的过程dom2规定的事件流包括3个阶段:①事件捕获,②处于目标阶段(事件处理),③事件冒泡阶段。DOM2级事件"规定事件流的三个阶......
  • 【学习笔记】初等数论-组合计数
    加法原理若完成一件事的方法有\(n\)类,其中第\(i(1\lei\len)\)类方法包括\(a_i\)种不同的方法,且这些方法互不重合,则完成这件事共有\(\sum\limits_{i=1}^{n}a_i\)种不同的方法。乘法原理若完成一件事的步骤有\(n\)个,其中第\(i(1\lei\len)\)个步骤包括\(a......
  • 关于asyncio.create_task异步并发执行的研究
    关于asyncio.create_task异步并发执行的研究#不在乎结果版本asyncdefdo_some_thing(a,b):time.sleep(3)print(f"{datetime.datetime.now()}handledo_some_thingwitha:{a}andb:{b}")returna+bclassTaskHandler(tornado.web.RequestHandler):......