蓝桥杯-旗帜
1 |
|
1 | #include<stdio.h> |
1 | #include<stdio.h> |
1 | 求关于x的同余方程 |
题目的意思即:(ax-1) mod b = 0 => ax-1=by,y为整数 => ax-by=1存在整数解
我们小学二年级就学过有个东西叫做裴蜀定理,这个定理说:若a,b为整数,gcd(a,b)为a,b的最大公约数,那么ax+by一定是gcd(a,b)的整数倍。简单来说,ax+by=m(a,b,m∈Z) 存在整数解 <=> gcd(a,b)|m,即m能被gcd(a,b)整除
并且有解时会有无数个解,怎么求呢?
这里我们用m=gcd(a,b)时来举例子:设d=gcd(a,b),ax+by=d
由辗转相除法我们知道:d=gcd(a,b)=gcd(b,a%b),d也是b和a%b的最大公约数,因此也满足:bx+(a%b)y=d,设q=int(a/b),则a%b=a-qb,那么bx+(a-qb)y=d ==> ay+b(x-qy)
我们得到了迭代公式,若对方程bx+(a%b)y=d可求得一个整数解(x2,y2),a×y2+b(x2-q×y2),则(y2,x2-q×y2)方程ax+by=1的一个解,
x1=y2,y1=x2-a/b*y2
其中a/b是取int
这样的话我们就可以一直辗转相除(具体见辗转相除的博客)直到b=0时,a恰好为gcd(a,d),那么这个时候ax + 0y = d,所以此时x=1,不妨取y=0作为一组解,即一个特解x=1,y=0。然后进而用递归求出原始的ax+by=d的解(a,b前后不一样的喔),但是这个时候得到的也只是其中一个特解x0,y0,通解为x′=x0+K∗b/d;y′=y−K∗b/d(K为任意整数),至于证明这里就不过多赘述了
现在还剩一个问题,怎么找到最小正整数解x,
1 | ( x % b + b ) % b |
欧克,所有问题解决,回到代码实现
1 | int exgcd(int a,int b,int &x,int &y){ |
deploy.bat 批处理文件,内容如下:1 | @echo off |
cd /d/Toolsoftwares/blog
1 | hexo new "文章标题" # 简写:hexo n "文章标题" |
找到 source/_posts/文章标题.md 文件,用编辑器打开;
开头会有默认的「Front-matter」配置(必须保留,控制文章属性),示例:
1 | --- |
在 --- 下方写正文,用 Markdown 语法编辑(支持标题、图片、链接、代码块等),示例:
1 | # 一级标题 |
当然,如果你用的是Trpora,具体如何编辑的指令统统都不用记
1 | # 生成静态文件 + 启动本地服务器(合并命令) |
INFO Hexo is running at http://localhost:4000 . Press Ctrl+C to stop. 后,打开浏览器访问 http://localhost:4000;本地预览无问题后,执行部署命令,将新文章同步到线上博客:
1 | # 先停止本地服务器(按 Ctrl+C),再执行部署 |
INFO Deploy done: git,说明部署成功;https://junbobd.github.io 即可看到新文章。source/_posts/ 对应的 .md 文件;hexo clean && hexo g -d 部署,会自动覆盖线上旧版本。source/_posts 文件夹,找到要删除文章对应的 Markdown(.md)文件,直接手动删除,也可在终端用命令删除,比如删除test.md就输rm source/_posts/test.md。hexo clean命令,清除之前生成的旧缓存和public文件夹内容,避免残留旧文件影响效果。hexo g(即hexo generate),生成不含已删除文章的新静态页面文件。hexo d(即hexo deploy),把更新后的内容部署到 GitHub 上。等待 2 - 5 分钟后,线上博客的对应文章就会被删除了。1 | hexo new "文章标题" |
hexo clean && hexo g -dhexo clean && hexo g -dWelcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
1 | $ hexo new "My New Post" |
More info: Writing
1 | $ hexo server |
More info: Server
1 | $ hexo generate |
More info: Generating
1 | $ hexo deploy |
More info: Deployment