随笔分类 -  数学 数论

摘要:【题目】 " 6392. 「THUPC2018」密码学第三次小作业 / Rsa" 【题意】T次询问,给定正整数c1,c2,e1,e2,N,求正整数m满足: $c_1=m^{e_1} \ \ mod \ \ N$ $c_2=m^{e_2} \ \ mod \ \ N$ 保证$c_1,c_2,e_1,e 阅读全文
posted @ 2018-05-17 21:56 ONION_CYC 阅读(652) 评论(0) 推荐(0)
摘要:【题目】 "BZOJ 2111" 【题意】求有多少1~n的排列,满足$A_i A_{\frac{i}{2}}$,输出对p取模的结果。$n \leq 10^6,p \leq 10^9$,p是素数。 【算法】计数DP+排列组合+lucas 【题解】令i的父亲为i/2,转化为要求给一棵n个点的完全二叉树编 阅读全文
posted @ 2018-05-17 10:30 ONION_CYC 阅读(452) 评论(0) 推荐(0)
摘要:【题意】给定a和b,求满足a<=lcm(x,y)<=b && x<y的数对(x,y)个数。a,b<=10^11。 【算法】莫比乌斯反演+组合计数 【题解】★具体推导过程参考:51nod1222 最小公倍数计数 过程运用到的技巧: 1.将所有i和j的已知因子提取出来压缩上届。 2.将带有μ(k)的k提 阅读全文
posted @ 2018-03-01 21:19 ONION_CYC 阅读(289) 评论(0) 推荐(0)
摘要:【题目】GCD of Divisors 【题意】给定f(n)=Σd|n gcd(d,n/d)的前缀和F(n),n=10^15。 【算法】莫比乌斯反演 【题解】参考:任之洲数论函数.pdf 这个范围显然杜教筛也是做不了的,而且考虑直接化简f(n)也遇到了困难,所以考虑将前缀和的Σ一起化简。 $$F(n 阅读全文
posted @ 2018-03-01 14:29 ONION_CYC 阅读(494) 评论(0) 推荐(0)
摘要:【题意】给定n,求Σi=1~nΣj=1~n lcm(i,j),n<=10^10。 【算法】杜教筛 【题解】就因为写了这个非常规写法,我折腾了3天…… $$ans=\sum_{i=1}^{n}\sum_{j=1}^{n}lcm(i,j)$$ 令 $$g(n)=n*\sum_{i=1}^{n}\frac 阅读全文
posted @ 2018-02-28 16:26 ONION_CYC 阅读(480) 评论(0) 推荐(0)
摘要:【题意】给定n,求Σφ(i),n<=10^10。 【算法】杜教筛 【题解】 定义$s(n)=\sum_{i=1}^{n}\varphi(i)$ 杜教筛$\sum_{i=1}^{n}(\varphi *I)(i)=\sum_{i=1}^{n}\sum_{d|i}\varphi(d)=\sum_{i=1 阅读全文
posted @ 2018-02-25 14:37 ONION_CYC 阅读(344) 评论(0) 推荐(0)
摘要:【题意】给定p,求p的原根g。3<=p<=10^9。 【算法】数学 【题解】p-1= p1^a1 * p2^a2 * pk^ak,g是p的原根当且仅当对于所有的pi满足g^[ (p-1)/pi ] ≠ 1 (%p) g一般很小,暴力求。 #include<cstdio> #include<cmath 阅读全文
posted @ 2018-02-22 15:34 ONION_CYC 阅读(245) 评论(0) 推荐(0)
摘要:【题意】给定a,b,c,在天平左边放置若干重量a的砝码,在天平右边放置若干重量b的砝码,使得天平两端砝码差为c。设放置x个A砝码和y个B砝码,求x+y的最小值。 【算法】数论(扩展欧几里德算法) 【题解】问题转化为求满足方程ax+by=c,|x|+|y|的最小值。 先用扩展欧几里得算法求得通解。 由 阅读全文
posted @ 2018-01-19 14:54 ONION_CYC 阅读(371) 评论(0) 推荐(0)
摘要:【题意】2154: Crash的数字表格 莫比乌斯反演,多组询问,T<=10000。 【算法】数论(莫比乌斯反演) 【题解】由上一题, $ans=\sum_{g\leq min(n,m)}g\sum_{d\leq min(n/g,m/g)}\mu (d)*d^2*sum(n/gd,m/gd)$ 令T 阅读全文
posted @ 2018-01-16 08:34 ONION_CYC 阅读(327) 评论(0) 推荐(0)
摘要:【题意】给定n,m,求Σlcm(i,j),1<=i<=n,1<=j<=m,n,m<=10^7。 【算法】数论(莫比乌斯反演) 【题解】 $$ans=\sum_{i\leq n}\sum_{j\leq m}\frac{i*j}{gcd(i,j)}$$ $$ans=\sum_{d\leq min(n,m 阅读全文
posted @ 2018-01-15 21:01 ONION_CYC 阅读(254) 评论(0) 推荐(0)
摘要:【题目】G. Coprime Arrays 【题意】当含n个数字的数组的总gcd=1时认为这个数组互质。给定n和k,求所有sum(i),i=1~k,其中sum(i)为n个数字的数组,每个数字均<=i,总gcd=1的方案数。n<=2*10^6。答案将所有sum(i)处理成一个数字后输出。 【算法】数论 阅读全文
posted @ 2018-01-15 16:39 ONION_CYC 阅读(452) 评论(0) 推荐(0)
摘要:【题意】令F(i)为 i 的约数和,Q次询问给定n,m,a,求:ΣF(gcd(i,j))%2^31,1<=i<=n,1<=j<=m,F(gcd(i,j))<=a。n,m<=10^5,a<=10^9,Q<=20000。 【算法】数论(莫比乌斯反演) 【题解】先无视a的限制,令g(x)表示gcd(a,b 阅读全文
posted @ 2018-01-12 13:25 ONION_CYC 阅读(273) 评论(0) 推荐(0)
摘要:【题意】给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y)有多少对。T<=10^4,N,M<=10^7。 【算法】数论(莫比乌斯反演) 【题解】公式推导见DQSSS。 推到ans= Σp是素数 Σd≤mins μ(d) * (n/pd) * (m/pd),min 阅读全文
posted @ 2018-01-12 09:50 ONION_CYC 阅读(295) 评论(0) 推荐(0)
摘要:【题意】T次询问第k小的非完全平方数倍数的数。T<=50,k<=10^9。(即无平方因子数——素因数指数皆为0或1的数) 【算法】数论(莫比乌斯函数) 【题解】考虑二分,转化为询问[1,x]中无平方因子数的个数(x最大为2n)。 运用容斥,答案ans=x - 1个素数的平方的倍数的数的个数 + 2个 阅读全文
posted @ 2018-01-11 20:09 ONION_CYC 阅读(331) 评论(0) 推荐(1)
摘要:【题意】于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数。n,a,b,c,d,k<=50000。 【算法】数论(莫比乌斯反演) 【题解】差分转化为询问有多少数对(x,y)满足x,y互素,1<=x<=n/k 阅读全文
posted @ 2018-01-11 17:02 ONION_CYC 阅读(443) 评论(0) 推荐(0)
摘要:【题目】F. Paths 【题意】给定数字n,图上有编号为1~n的点,两点当且仅当gcd(u,v)≠1时有连边,定义d(u,v)为两点间最短距离(若不连通则为0),求Σd(u,v),1<=u<v<=n,n<=10^7。 【算法】数论 【题解】对于1<=x<=n,当x=1或x是大于n/2的素数时,x是 阅读全文
posted @ 2018-01-10 16:52 ONION_CYC 阅读(239) 评论(0) 推荐(0)
摘要:【题意】数列满足an=an-1+an-2,n>=3。现在a1=i,a2=[l,r],要求满足ak%p=m的整数a2有多少个。10^18。 【算法】数论(扩欧)+矩阵快速幂 【题解】定义fib(i)表示第 i 个斐波那契数,将数列an列项观察容易发现ak=a1*fib(k-2)+a2*fib(k-1) 阅读全文
posted @ 2017-12-25 10:25 ONION_CYC 阅读(399) 评论(0) 推荐(0)
摘要:【题目】C. Ultimate Weirdness of an Array 【题意】给定长度为n的正整数序列,定义一个序列的价值为max(gcd(ai,aj)),1<=i<j<=n,定义f(i,j)为移除序列i~j后剩余序列的价值,求Σf(i,j)。1<=n,ai<=2*10^5。 【算法】数论+线 阅读全文
posted @ 2017-12-20 22:15 ONION_CYC 阅读(354) 评论(0) 推荐(0)
摘要:【题目】A. Bear and Prime 100 【题意】有一数字x,每次可询问一个数字y是否x的因子,最后输出数字x是否素数,要求询问次数<=20。 【题解】容易发现[2,100]范围内的非素数一定能分解为[2,47]范围内的素数的乘积,所以只需要询问[2,47]范围内的15个素数。 平方数需要 阅读全文
posted @ 2017-12-20 12:36 ONION_CYC 阅读(195) 评论(0) 推荐(0)
摘要:【题意】记正整数x的因数个数为g(x),当正整数x满足:g(x)>g(i)(0<i<x)时,称x为反素数,求不超过给定N的最大反素数,N<2e9。 【算法】数论,搜索 【题解】 这个问题等价于求1~N中因数最多的最小数字。 反素数有以下性质: 1.反素数的素因子一定是从2开始的连续素数。 必要性证明 阅读全文
posted @ 2017-12-05 21:01 ONION_CYC 阅读(213) 评论(0) 推荐(0)