![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数论
文章平均质量分 81
Power_True
这个作者很懒,什么都没留下…
展开
-
【题解&总结】P1829 [国家集训队]Crash的数字表格
题目大意给定 n,mn,mn,m ,求∑i=1n∑j=1m[i,j]\sum_{i=1}^n\sum_{j=1}^m[i,j]i=1∑nj=1∑m[i,j]题解我们约定 n<mn<mn<m先把 lcmlcmlcm 换成 gcdgcdgcd ,则∑i=1n∑j=1mij(i,j)\sum_{i=1}^n\sum_{j=1}^m\frac{ij}{(i,j)}i=1∑nj=1∑m(i,j)ij常规套路,枚举 (i,j)(i,j)(i,j) ,得∑d=1n∑i=原创 2021-08-07 22:12:21 · 153 阅读 · 1 评论 -
【学习笔记】杜教筛
杜教筛前置知识积性函数若 fff 为数论函数,a⊥ba\perp ba⊥b ,且 f(ab)=f(a)f(b)f(ab)=f(a)f(b)f(ab)=f(a)f(b) ,则函数 fff 为积性函数特别的,若对于任意的 a,ba,ba,b ,都有 f(ab)=f(a)f(b)f(ab)=f(a)f(b)f(ab)=f(a)f(b) ,则函数 fff 为完全积性函数。常见的积性函数 :φ(n)\varphi(n)φ(n):111 ~ nnn 中与 nnn 互质的数的个数μ(n)\mu(n)μ原创 2021-08-04 12:21:03 · 140 阅读 · 0 评论 -
【题解&总结】 P3327 [SDOI2015]约数个数和
题目大意设 d(x)d(x)d(x) 表示 xxx 因数个数,给定 n,mn,mn,m ,求∑i=1n∑j=1md(ij)\sum_{i=1}^n\sum_{j=1}^md(ij)i=1∑nj=1∑md(ij)题解首先有一个奇妙的结论:d(ij)=∑x∣i∑y∣i[gcd(x,y)==1]d(ij)=\sum_{x|i}\sum_{y|i}[gcd(x,y)==1]d(ij)=x∣i∑y∣i∑[gcd(x,y)==1]证明如下:根据定义,d(ij)=∑p∣ij1d(ij)=\sum_{原创 2021-07-29 21:25:53 · 194 阅读 · 0 评论 -
【题解&总结】 P3704 [SDOI2017]数字表格
这道题真是本人切的第一道黑题,我还是太弱了题目大意给定 n,mn,mn,m ,求 ∏i=1n∏j=1mfgcd(i,j)\prod_{i=1}^n\prod_{j=1}^mf_{gcd(i,j)}i=1∏nj=1∏mfgcd(i,j) 其中,fff 为斐波那契数列。题解考虑枚举 d=gcd(i,j)d=gcd(i,j)d=gcd(i,j) ,思考会存在多少个 fdf_dfd ,即 ∑i∑j[gcd(i,j)==d]\sum_i\sum_j[gcd(i,j)==d]∑i∑j[gcd(i,j原创 2021-07-22 20:22:08 · 129 阅读 · 0 评论 -
【刷题总结】 P2568 GCD
题意求 ∑d∈prime∑i=1n∑j=1n[(i,j)==d]\sum_{d\in prime}\sum_{i=1}^n\sum_{j=1}^n[(i,j)==d]d∈prime∑i=1∑nj=1∑n[(i,j)==d]题解除以 ddd ,得∑d∈prime∑i=1⌊nd⌋∑j=1⌊nd⌋[(i,j)==1]\sum_{d\in prime}\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{n}{d}\rfloor}原创 2021-07-21 22:11:33 · 91 阅读 · 0 评论 -
【题解&总结】 「NOI2018」屠龙勇士
题目大意题解考虑把题目转换一下,假设我们把杀每条龙所要用的剑求出来了(用平衡树或线段树预处理一下),设当前的剑的攻击力为 AiA_iAi那么题目就可以转换为:找到一个最小的 xxx ,使得对于 ∀i∈[1,n]\forall i\in[1,n]∀i∈[1,n] ,都有 Ai⋅x≡ai (mod pi)A_i\cdot x\equiv a_i\ (mod\ p_i)Ai⋅x≡ai (mod pi)发现这与excrt很像,我们考虑化成其一般形式。但我原创 2021-07-18 19:46:00 · 306 阅读 · 0 评论 -
【题解&总结反思】 gmoj4496 互补约数
题目大意已知 n≤1011n\le10^{11}n≤1011 ,求 ∑i=1n∑d∣igcd(d,id)\sum_{i=1}^n \sum_{d|i} gcd(d,\frac{i}{d})i=1∑nd∣i∑gcd(d,di)总结一道高质量的题目,恶补了一下莫反,明白了之前很多不懂得东西原式可以理解为选择两个数 i,ji,ji,j 使得 i⋅j≤ni\cdot j\le ni⋅j≤n,然后求gcd的和,即∑i⋅j≤ngcd(i,j)\sum_{i\cdot j\le n}gcd(i,j)i⋅j≤原创 2021-07-13 19:41:42 · 92 阅读 · 1 评论 -
【GDKOI 2021提高组DAY2】 游戏
比赛时A了这道题,感觉很有意思。一道期望dp,比较好玩。DescriptionData Constraint题解期望dp多为逆推,我们从逆推的方向去想一想:设f[i]f[i]f[i]表示从iii颗星到n颗星的期望局数。容易推出方程:f[i]=p[i]f[i+1]+(1−p[i])f[i−1]+1f[i]=p[i]f[i+1]+(1-p[i])f[i-1]+1f[i]=p[i]f[i+1]+(1−p[i])f[i−1]+1发现有后效性,仔细观察得出:f[n]=0,f[n−1]=(1−p[原创 2021-01-30 18:47:32 · 234 阅读 · 0 评论 -
【题解&比赛总结】图形变换
好久没有打题解了,今天做了一套好题,收获良多。Description翔翔最近接到一个任务,要把一个图形做大量的变换操作,翔翔实在是操作得手软,决定写个程序来执行变换操作。翔翔目前接到的任务是,对一个由n个点组成的图形连续作平移、缩放、旋转变换。相关操作定义如下:Trans(dx,dy)Trans(dx,dy)Trans(dx,dy) 表示平移图形,即把图形上所有的点的横纵坐标分别加上dx和dy;Scale(sx,sy)Scale(sx,sy)Scale(sx,sy) 表示缩放图形,即把图形上所有点原创 2020-11-14 21:30:51 · 155 阅读 · 0 评论 -
【题解&比赛总结】GMOJ5348心灵治愈
【题目描述】题目太生草了,我给读者们简化一下。给定一个长 N+1N+1N+1 的序列 aaa 的第 N+1N+1N+1 位,求满足 ∑i=1nai⋅xi+M⋅xn+1=1\sum_{i=1}^{n}a_i·x_i+M·x_{n+1}=1∑i=1nai⋅xi+M⋅xn+1=1 (xi∈Z)(x_i\in \mathbb{Z})(xi∈Z) 的序列 aaa 有多少个。【思路】我把我比赛时的思路说说,可能能帮助理解。首先看到 N=1N=1N=1 的情况,即 a1x1+Mx2=1a_1x_1+原创 2020-10-08 17:05:11 · 104 阅读 · 0 评论 -
【题解&刷题总结】青蛙的约会
题目描述两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不然是永远都不可能碰面的。为了帮助这两只乐观的青蛙,你被要求写一个程序来判断这两只青蛙是否能够碰面,会在什么时候碰面。我们把这两只青蛙分别叫做青蛙A和青原创 2020-09-20 09:32:33 · 981 阅读 · 1 评论 -
【学习笔记】数论/递推/矩阵/倍增:斐波那契数列
到现在,斐波那契数列对于OIer们可谓无人不知无人不晓了可是,对于大多数初初学者来说,他们只知道一个简单的递推式而对于一些初学者来说(包括我在内),也只懂得一个矩阵快速幂去优化事实上,还有一个 O(1)O(1)O(1) 时间复杂度的做法:黄金比例(虽然我看不懂证明过程)那么我们就来讲讲斐波那契数列吧斐波那契数列举个例子,一个很普通的递推:这里有 nnn 层楼梯,每次你可以向上爬1层或2层,你现在在第1层楼梯,问你爬到第 nnn 层楼梯有多少方案。很显然,递推式就是 Fn=Fn−1+Fn−2F_原创 2020-08-19 12:22:58 · 395 阅读 · 0 评论 -
【题解&刷题总结】荒岛野人(扩展欧几里得)
题目题解&思路我们可以把题目稍微转换一下:设有 mmm 个洞穴,对于两个野人,他们要互相攻击得满足什么?很明显,若第 iii 个野人与第 jjj 个野人要相互攻击,则 ci+pi⋅x≡cj+pj⋅x(modc_i+p_i·x \equiv c_j+p_j·x(modci+pi⋅x≡cj+pj⋅x(mod m)m)m)稍微移一下项: (pi−pj)x≡cj−ci(mod(p_i-p_j)x \equiv c_j-c_i(mod(pi−pj)x≡cj−ci(mod m)m)m原创 2020-08-16 14:34:37 · 215 阅读 · 0 评论 -
【学习笔记】数论:扩展欧几里得
最近学了一下扩展gcd,深有体会,今天来讲一讲扩展欧几里得上一篇博客我有提到如何求逆元,那我今天讲一讲扩展欧几里得。欧几里得算法是什么?就是辗转相除法,不懂的自己上网白度那啥是扩展欧几里得呢?首先先引入一个东西:贝祖定理而扩展欧几里得就是证明的过程。结合代码理解一下:ll exgcd(ll a,ll b,ll &x,ll &y){//上面讲得很清楚了 if (b==0){ x=1;y=0; return a; } ll d=gcd(b,a%b,x,y);原创 2020-08-08 19:27:05 · 217 阅读 · 0 评论 -
【学习笔记】数论:逆元
今天讲讲逆元逆元首先,我们先引入一个概念:同余什么是同余?若与 除以正整数p有一样的余数,那么我们说a与b在模p的意义下同余,即,同余还有同余类和剩余系,大佬们或者学有余力的读者可以自行百度,至少我是不会的啦那么我们来讲讲什么是逆元若,则a与b互为逆元。那逆元有什么用呢?这又涉及一个知识点:取模因为a/b%p(a%p/b%p)%p,所以我们要找到一个东西使得它,这个数,便是b的逆元。现在又来了一个问题,逆元怎么求?那么我们可以引入两个定理:...原创 2020-08-02 10:02:05 · 1170 阅读 · 1 评论