
欧拉函数
C202044zxy
这个作者很懒,什么都没留下…
展开
-
CF487C Prefix Product Sequence
一、题目点此看题二、解法首先我们来判断一下有无解,如果n≤4n\leq 4n≤4或者nnn是质数的话就有解,否则无解。因为我们可以找到a,ba,ba,b使得n∣abn|abn∣ab成立,a,ba,ba,b可以用如下方法取得:如果nnn不是一个质数的完全平方数,那么一定存在ab=nab=nab=n(把nnn的因子分出去)否则p2=np^2=np2=n,那么我们取ppp和2p2p2p就行了(这里p>2p>2p>2)因为是要构造出[1,n][1,n][1,n]的所有数,所以可以利原创 2020-10-05 11:31:21 · 247 阅读 · 0 评论 -
[POJ 2154] Color
一、题目题目描述长度为nnn的环nnn染色,求旋转后本质不同的方案模ppp的值。数据范围1≤n≤1e91\leq n\leq1e91≤n≤1e9,1≤p≤300001\leq p\leq 300001≤p≤30000二、解法首先直接来推式子:∑i=1nngcd(i,n)\sum_{i=1}^nn^{\gcd(i,n)}i=1∑nngcd(i,n)∑d∣nnd∑i=1n[gcd(...原创 2020-04-14 10:21:24 · 204 阅读 · 0 评论 -
gcd
一、题目原创 2019-11-25 16:19:24 · 181 阅读 · 1 评论 -
The Luckiest number
一、题目给定一个nnn,求最小的长度LLL,使888...888...888...(LLL个888)是nnn的倍数。1≤n≤2e91\leq n\leq 2e91≤n≤2e9二、解法尝试用数学方法表示 888...888...888...,发现 888...=89×(10y−1)888...=\frac{8}{9}\times(10^y-1)888...=98×(10y−1)所以 n∣...原创 2019-11-25 16:06:09 · 421 阅读 · 0 评论 -
GCD
一、题目给定n,kn,kn,k,求有多少个(a,b)(a,b)(a,b),gcd(n−a,n)×gcd(n−b,n)=nk,(1≤a,b≤n)gcd(n-a, n)\times gcd(n-b,n)=n^k,(1\leq a,b\leq n)gcd(n−a,n)×gcd(n−b,n)=nk,(1≤a,b≤n)1≤n,k≤109,gcd(0,n)=n1\leq n,k\leq 10^9,gcd(...原创 2019-11-24 13:22:56 · 160 阅读 · 0 评论 -
Period of an Infinite Binary Expansion
一、题目题目描述给定一个分数 qp\frac{q}{p}pq ,求最小循环节的起始位置和最小循环节的长度。二、解法先把p,qp,qp,q除以最大公约数,以满足互质。考虑二进制小数的转化方式,一直乘二每次再模分母,得到的余数便是当前数位的值。设xxx是循环节开始的位置,yyy是循环节结束的位置,则2x=2ymod p2^x=2^y\mod p2x=2ymodp。尝试对原式变形,2x...原创 2019-11-24 12:38:16 · 236 阅读 · 0 评论 -
M斐波那契数列
一、题目二、解法可以把这个变形的斐波那契理解为指数上的正常斐波那契,分别做两次矩阵加速,第一次初始值为1,01,01,0,第二次初始值为0,10,10,1,把两次的aF(n),bF(n)a^{F(n)},b^{F(n)}aF(n),bF(n)求乘积即可。现在的问题是F(n)F(n)F(n)太大会爆,考虑到模数是一个质数1e9+71e9+71e9+7,利用欧拉定理aφ(n)=1a^{\var...原创 2019-11-24 12:14:41 · 382 阅读 · 0 评论 -
Power Tower
一、题目点此看题二、解法好像是一个欧拉降幂版题,但仔细想想时间复杂度是O(n2)O(n^2)O(n2)。考虑φ\varphiφ的下降速度,有一个结论,当n>2n>2n>2时,φ(n)\varphi(n)φ(n)是偶数。证明可以考虑更相减损术,gcd(i,n)=gcd(n−i,n)\gcd(i,n)=\gcd(n-i,n)gcd(i,n)=gcd(n−i,n),所以i...原创 2019-11-23 20:12:58 · 350 阅读 · 0 评论 -
上帝与集合的正确用法
一、题目点此看题二、解法可以运用欧拉降幂,ac=ac%φ(b)+φ(b)mod ba^c=a^{c\%\varphi(b)+\varphi(b)}\mod bac=ac%φ(b)+φ(b)modb。然后我们可以dfsdfsdfs,每次把φ(p)\varphi(p)φ(p)带进去搜索,知道p=1p=1p=1回溯。#include <cstdio>const int MAXN...原创 2019-11-23 10:56:28 · 166 阅读 · 0 评论 -
Happy 2006
一、题目给定m,km,km,k,找到和mmm互质的第kkk个数。1≤m≤106,1≤k≤1081\leq m\leq 10^6,1\leq k\leq 10^81≤m≤106,1≤k≤108。二、解法0x01 二分答案,容斥检查[1,x][1,x][1,x]中与mmm互质的数的个数是单增的,可以考虑二分这个xxx,找到最小的xxx使得[1,x][1,x][1,x]中的与mmm互质数的个数...原创 2019-11-23 08:16:58 · 190 阅读 · 0 评论