Skip to content

泉州一中信息学Blog

信息学奥赛技术分享博客

  • 登录
  • 小学oj
  • 中学oj
  • 测试页面1
  • Toggle search form

中山集训8.4

Posted on 2025年8月4日2025年8月4日 By 黄, 涵波 中山集训8.4无评论

今天是专题日,没比赛

裴蜀定理

原定理

对于a,b均为不为零的整数来说,对任意整数对(x,y),满足gcd(a,b)|ax+by,且存在无数对整数对(x,y),使得ax+by=gcd(a,b)

逆定理

若存在正整数d,满足d|a且d|b,且存在整数对(x,y)使得ax+by=d,则d=gcd(a,b)

推广定理及其逆定理

这是改写过后的定理

对于向量A=(a1,a2,…,an),其中ai为不为0的整数,必有向量X=(x1,x2,…,xn),其中xi为整数,满足A与X的的内积为gcd(a1,a2,…,an)

其逆定理表述为,若有正整数d满足d|任意ai,又存在X使得其与A的内积为d,则d=gcd(a1,a2,…,an)

练习Luogu P4549

LINK

本体显然由裴蜀定理可知,要求的就是gcd(a1,a2,…,an),代码也很简洁

注意,求出来的ans可能为负数,因此要取绝对值

数论练习

T1 GCD SUM

数据范围

时间复杂度目标O(n)或O(nlog(n))

看了题解发现有两种做法,都很不错

法一 欧拉反演

这样一来枚举d即可O(n)通过(欧拉函数用线性筛处理)

Code:

法二 改写原式

对于代码实现,我们要从后往前枚举,才能保证f[i]的值更新不会遗漏,以及时间复杂度为O(nH(n))

对于时间复杂度:
事实上H(n)-1=1/2+1/3+..+1/n < log(n)
可以积分放缩证明

所以时间复杂度完全是没问题的

Code:

该方法虽然时间复杂度并不优于线性复杂度,但是码量超小

T2 GCD

我的想法,对于素数p来说phi(p)=p-1所以我们可以用这个来判断,原题等价于求多少组(i,j)满足phi(gcd(i,j))=gcd(i,j)-1,然后推式子

但是刚开始就推不下去了,说明这个思路是有问题的

来看题解吧

这个套路式变形学到了

那就很好打了,几乎板题

T3 乘法逆元 Luogu P3811

乘法逆元的其它解法详见OI Wiki————乘法逆元

本题需要使用线性求乘法逆元,原理如下

要求1~n在模p(p是质数)的乘法逆元,我们假设求解到第i个

设k=i/p(下取整),j=i mod p
则 ki+j = 0 (mod p)
(ki+j)(j^-1)(i^-1) = 0 (mod p)
k(j^-1)+i^-1 = 0 (mod p)
i^-1 = -k(j^-1) (mod p)
对于i=1,i^-1=1 (mod p)

Code:

T4 有理数取余

来看数据范围

是不是觉得要高精度?
事实上变形一下就会发现我们再求这样一个同余方程,下记模数为P,事实上这个数是质数

bx=a (mod P)
(b mod P)x=(a mod P) (mod P)
x=(a mod P)((b mod P)^-1) (mod P)

这样我们用字符读入的时候就可以取模,把a和b的范围缩小
再用费马小定理(快速幂)求乘法逆元即可

注意最后还要再模一次P

Code:

T5 同余方程 Luogu P1082

我觉得这题可以当成扩欧求乘法逆元的板题了

T6 Longge 的问题 Luogu P2303

这题是练习欧拉反演的基础题,我认为也可以作为O(sqrt(n))求欧拉函数的模板题

先看数据范围

这题O(sqrt(n))可以通过,先推式子,这个OI Wiki上有————Link

我们可以O(sqrt(n))求解其因数以及因数的欧拉函数
总时间复杂度为O(d(n)*sqrt(n))

晚自习

打点图论题

T1 P1828 [USACO3.2] 香甜的黄油 Sweet Butter

直接Johnson模板往上套,改几个地方就行(由于边权是正的,连spfa和rebuild都不用)

太简单,代码不放了

T2 P1821 [USACO07FEB] Cow Party S

这题可以存反图,分别求出x到各点在正图和反图中的最小距离,再加起来,及来回距离,最后比个大小就行

太简单,代码不放了

OK,这就是今日所有内容(事实上是懒得继续写了),goodbye

训练日志

文章导航

Previous Post: 21 Days Training // Day (8 2/3)~(9 2/3)
Next Post: 2025暑假中山集训Day10——8.04

发表回复 取消回复

要发表评论,您必须先登录。

2025年 12月
一 二 三 四 五 六 日
1234567
891011121314
15161718192021
22232425262728
293031  
« 8月    

2024常州 Class Classic OI Problems Contest cqr的长乐集训2023 CZYZ LOC New Game NOI NOIP Password Protected PM_PK Preview Problems Retrospect Selfmade Qusetion STL The end Training Uneasy Problem 蒟蒻 通报

  • 训练日志
  • 链表
  • 入门
  • 模拟
  • dfs序
  • 并查集
  • spfa
  • 最小割
  • 矩阵树定理
  • 仙人掌
  • BSGS
  • 凸包
  • 回文自动机
  • 递推与动归
  • 堆
  • 莫队算法
  • ST表
  • Treap
  • 树套树
  • 可持久化线段树
  • 初赛
  • 搜索
  • 贪心
  • 深度优先搜索
  • 欧拉图
  • dijkstra
  • 费用流
  • 哈夫曼树
  • kruskual
  • 置换
  • 旋转卡壳
  • KMP
  • 区间动归
  • STL
  • 链表
  • 可并堆
  • sply
  • 主席树
  • 可持久化字典树
  • 算法
  • 动态规划
  • 构造
  • 广度优先搜索
  • 最短路
  • floyd
  • 最大流
  • 虚树
  • prim
  • 筛法
  • 半平面交
  • 字典树
  • 背包动归
  • 基础数据结构
  • 分块
  • 线段树
  • 替罪羊树
  • K-DTree
  • 图论
  • 二分法
  • 迭代搜索
  • 拓扑排序
  • 有上下界网络流
  • 生成树
  • 快速幂
  • 后缀数组
  • 树形动归
  • 哈希表
  • 中级数据结构
  • 平衡树
  • 可持久化数据结构
  • 数据结构
  • 三分法
  • 启发式搜索
  • 图的连通
  • 点分治
  • 博弈论
  • AC自动机
  • 状压动归
  • 单调栈
  • 树状数组
  • 高级数据结构
  • OI资料
  • 数学
  • 高精度
  • 差分约束
  • 树上倍增
  • 素数测试
  • 后缀自动机
  • 数位动归
  • 单调队列
  • 新闻
  • 几何
  • 随机化
  • 二分图染色
  • 树链剖分
  • 欧拉函数
  • manacher
  • 斜率优化
  • 离线处理
  • 信息学奥赛学长风采
  • 字符串
  • 二分图匹配
  • prufer编码
  • 卡特兰数
  • 密码学
  • 决策单调
  • 赛后总结
  • 其他
  • 2-SAT
  • 最近公共祖先
  • 矩阵乘法
  • 记忆化搜索
  • 网络流
  • Link cut tree
  • 排列组合
  • 树
  • 高斯消元
  • 乘法逆元
  • 容斥原理
  • 调和级数
  • 概率与期望
  • 模线性方程组
  • 莫比乌斯反演
  • 快速傅里叶变换
  • 扩展欧几里德
  • 最大公约数与最小公倍数

近期文章

  • 中山纪念中学 Day21
  • 中山集训8.15 LAST DAY+集训小结
  • GDNOJ – DAY 18
  • 中山8.14
  • 2025暑假中山集训Day20——8.14

近期评论

归档

  • 2025年8月
  • 2025年7月
  • 2025年2月
  • 2025年1月
  • 2024年11月
  • 2024年10月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年3月
  • 2024年2月
  • 2024年1月
  • 2023年12月
  • 2023年11月
  • 2023年10月
  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年3月
  • 2023年2月
  • 2023年1月
  • 2022年12月

Copyright © 2025 泉州一中信息学Blog.

Powered by PressBook WordPress theme