zr 摆烂记

news/2024/11/15 7:15:28/文章来源:https://www.cnblogs.com/BYR-KKK/p/18307689

你说得对,我也不知道怎么整合到数数论论里。

\((a,b)=1\)\(ax\equiv 1(\bmod b)\) 有解的充要条件。

首先,对于 \(x=0\rightarrow b-1\)\(ax\equiv y(\bmod b)\)\(y\) 互不相同。

证明考虑加加减减。

考虑求出这个解,得到 \(ax=by+1\)

不难有推论:\((a,b)=1\)\(ax+by=1\) 有整数解。

进一步的,\(ax+by=(a,b)\) 有整数解。

这就是 exgcd 的形式。

进一步考虑 \(a+b=c\),有解的条件显然是 \((a,b)|c\)

然后可以根据刚才的来做。

这是 exgcd 吗?这不是 exgcd。

因此我们称为 byrgcd。

while(T--){read(a),read(b),read(c);int d=std::__gcd(a,b);if(c%d!=0){println(-1);continue;}a/=d,b/=d;int x=ksm(a,phi[b]-1,b); int y=(a*x-1)/b;y=-y;x*=d,y*=d;x*=c/d,y*=c/d;printsp(x),println(y);
}

上面用到了欧拉定理。

\(\dfrac{b}{d}\) 不一定是质数,不能用费马小定理。

你知道什么是裴蜀定理吗?就是上面那坨东西有解。

上面只是求出来一组特解 \(x_0,y_0\)

通解的形式:\(x=x_0+\dfrac{b}{d}\times k,y=y_0-\dfrac{a}{d}\times k\)

为什么所有通解都能被这种形式表示出来?

因为 \((\dfrac{b}{d},\dfrac{a}{d})=1\),然后乱证一下。

一个更加正经的 exgcd 是在求 gcd 时推一下。

中国剩余定理

考虑合并两个同余方程:

\[x\equiv a_1(\bmod m_1) \]

\[x\equiv a_2(\bmod m_2) \]

改写一下?

\[x=pm_1+a_1 \]

\[x=qm_2+a_2 \]

\[pm_1+a_1=qm_2+a_2 \]

\[pm_1-qm_2=a_2-a_1 \]

oops,这是什么!

exgcd。

怎么合并?

可以构造出一个 \(x_0\) 满足两个方程。

我们断言,解的形式为 \(x_0+k\times\operatorname{lcm}(m_1,m_2)\)

显然。

然后合并起来就是 \(x\equiv x_0(\bmod \operatorname{lcm}(m_1,m_2))\)

没了。

怎么避免炸 long long?

先除后乘。

加上题解区一些神秘的做法。

lucas

p 是质数

对于组合数在 p 进制下做分解,然后组合一下乘起来。

进行一些简单的证明活动。

\((1+x)^p\equiv 1+x(\bmod p)\)

你大概会二项式定理。

拆开。

然后乱证。

\(p=2\) 时 lucas 可以表示成 \(C_n^m=1\) 当且仅当 \(n\&m=m\)

逆元

线性求一堆数的逆元

前缀积,然后推式子。

exlucas

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

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

相关文章

WKCTF RE

WKCTF so_easy 安卓逆向,关键的check逻辑都在native层里面主要是很多层的异或操作除了Z3和爆破想不到其他方法了 from z3 import *src = [ 0xAE, 0x81, 0xBA, 0xC1, 0xF0, 0x95, 0x0A, 0x54, 0x14, 0x03, 0x4A, 0xE2, 0x52, 0x4E, 0x84, 0xF8, 0xC9, 0x3E, 0x14, 0x98, 0x8F,…

Java - 多线程

ThreadLocalhttps://www.cnblogs.com/fsmly/p/11020641.html 为了线程安全,每个线程改的都是自己本地的副本,从而不会影响其它线程。多线程访问同一个共享变量的时候容易出现并发问题,特别是多个线程对一个变量进行写入的时候,为了保证线程安全,一般使用者在访问共享变量的…

OpenAI 创始成员创办「AI+教育」公司;谷歌发布 Magic Insert:让人物完美融入新背景丨 RTE 开发者日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑的个人观点…

云屏设备整机软件升级方案

最近时间稍微空闲,整理下云屏整机设备的OTA流程及方案。之前开发时有过定义/设计,这里稍微整理总结下 整机软件有很多模块,系统及外设固件、Windows服务、Windows应用,比如系统点屏9969、摄像头固件、触摸框固件、显卡驱动、Windows一些自研服务(用于通信以及系统修复等)…

土地利用规划与城市发展:绘就未来城市的蓝图

在快速城镇化进程中,土地利用规划作为城市建设与管理的基石,其科学性与前瞻性直接影响着城市的可持续发展。本文旨在深入探讨土地利用规划如何在引导城市空间布局、优化资源配置、促进经济发展、保障社会公平及环境保护等方面发挥关键作用,进而推动城市的全面进步。 一、土地…

js 将table转成Excel

1.情景展示 如何使用js将网页中的表格转成Excel文件?2.具体分析 通过SheetJS的xlsx.js文件实现。 3.解决方案 下载地址:https://github.com/SheetJS/sheetjs/archive/refs/tags/v0.18.5.zip 打开压缩包,找到dis目录下的xlsx.full.min.js将该文件解压出来,放到项目当中。在需…

ASP.NET Core -NLog

1.安装NuGet包2.准备Nlog的配置文件 nlog.config<?xml version="1.0" encoding="utf-8" ?> <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"autoReloa…

idea中项目树中展示在java类的成员方法,变量

如图所示,点击齿轮,勾选show Members即可

购买一台云服务器,安装nvm,能够将配置全局命令链接js文件执行

全局安装@vue/cli为什么会添加命令vue linux或者MAC系统中通过which vue查看vue地址,通过进入该地址查看文件发现软链接指向真实文件,真实文件同级别下的package.json中的bin字段中的名决定了输入命令vue 2.全区安装@vue/cli时将包放在了node安装位置的node_modules下并且在包…

欢喜就好 人生短短

欢喜就好 人生短短

解决方案 | listary 双击ctrl不生效,不启动搜索工具条 (困扰了我2天,终于解决)

一、问题描述 快捷键设置是正常的,但是双击ctrl不生效,不启动搜索工具条。(其实是大屏幕不显示,我一直盯着大屏幕,没看笔记本;本方法适用于同时使用笔记本和显示器) 解决思路来源 二、解决方法只需要把接着笔记本的hdmi线路拔掉 重插,然后再重新启动listary即可正常在…

宁盾杯-哇海贼王

哇海贼王 解压,2个压缩包1张图片图片打开发现尾端异常,疑似解压密码MV9DUkNfSVNfMl9GVU5OWV82NjYjCg== 解码得 1_CRC_IS_2_FUNNY_666#使用该密码解压flag1.zip,成功得到flag.zip 根据提示使用crc暴破获取key,解密flag2.zip拼图得flagREFTQ1RGezkxY2VkZjl2N2Q5ODI4MTA5YzkwZ…