暑期集训Day3&4总结(数论)

这两天数论的学习还真的是挺艰难,感觉每道题都不太会的样子。。。。。。

-------------------------------------------------------------------------------------------------------------------------------------

这两天的核心知识点主要有:欧拉函数    扩展欧几里得    素数筛   模线性方程组   逆元(重点)   中国剩余定理    Laucs定理

Baby step Giant step原理(我不太会)    莫比乌斯反演(懵逼乌斯)  容斥原理     杜教筛(不太会)  狄利克雷卷积与积性函数(不太会) 。。。。。。

下面以一些代表性题目复习

-------------------------------------------------------------------------------------------------------------------------------------

B - Divisors  (POJ  2992)

直接暴力搞然后再分解因数肯定是不行的,这里需要用到一个公式

求n!的每个质因子个数:ei=[N/pi^1]+ [N/pi^2]+ …… + [N/pi^n]  其中[]为取整

这样的话再用算数基本定理就能算出因子个数了

C - Longge's problem(poj2480)

思路
i = a * b
n = a * d
且 gcd(b, d) = 1
gcd(i, n) = a  ==> gcd(1,n/i)=1 ==> 用欧拉函数

E - Happy 2006(poj2773)

欧几里得:gcd(b×t+a,b)=gcd(a,b)
可以发现与m互素的数对m取模具有周期性

F - GCD (hdu1695)

很经典的一道题,可以通过两种方法求解

(一)容斥原理

将区间分成两段,1~b之内直接用欧拉函数求,而b~d内则用容斥。

设i在  [b+1,d ]内,则每个i,最多有b,再减去容斥的个数,求和即为答案,这里的容斥可以用dfs来做

(二)莫比乌斯反演

zlc第二天上课讲的例题,具体推公式我是推不来的,给个链接:https://blog.csdn.net/whai362/article/details/44065139

这个方法快很多。。。

H - X-factor Chains(poj3421)

其实这道题是一道排列组合题

最大链长=所有质因子个数和

总的因子个数c,不同的因子为f1,f2,...,fn其次方数分别为e1,e2,...,en。那么,不同序列的个数为c!/(e1!e2!......en!)。

L - Last Digits (poj2720)

欧拉降幂公式的使用,这道题细节太多了,具体参考:https://blog.csdn.net/yuege38/article/details/78989456

M - C Looooops(poj2115)

求解一个模线性方程组,使用扩展欧几里得求解,也可以直接套模板(滑稽)。不过要注意求出来的数有可能是负数,要将他调整到题目要求的区间。

O -Visible Trees (hdu2841)

由于之前做过一道类似的题,就一直往欧拉函数去想。结果这道题是一道水题qaq。

后面不被被前面挡住就是他的坐标(x,y),gcd(x,y)=1。

转化成F题,套F题莫比乌斯的板子即可。

猜你喜欢

转载自blog.csdn.net/star_moon0309/article/details/81427771
今日推荐