随笔分类 -  数学 - 数论 - 简单数论

摘要:http://www.fjutacm.com/Problem.jsp?pid=1251 想了很久,一开始居然还直接枚举因子d,计算重复了。 首先你要找与n的最大公因子大于m的x的个数。 $$\sum\limits_{x=1}^n [gcd(x,n) =m]$$ 不能直接枚举d,d必须是n的因子,否则 阅读全文
posted @ 2019-05-16 18:05 韵意
摘要:http://www.fjutacm.com/Contest.jsp?cid=705 P4 其实想清楚了就很简单,之前想了很多种方法,以为是二分什么的,看起来就像是一个单峰函数。但是发现直接暴力一波就行了。 不知道有没有人会来搜到我的题解?ID是Yinku2017。 题意:求$x$使得$\sum\l 阅读全文
posted @ 2019-05-14 16:08 韵意
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1019 LCM即各数各质因数的最大值,搞个map乱弄一下就可以了。 cpp include using namespace std; typedef long long ll; typedef unsigned i 阅读全文
posted @ 2019-04-19 23:05 韵意
摘要:好像以前有个妹子收割铲也是欧拉函数. 因为格点直线上的点,dx与dy的gcd相同,画个图就觉得是欧拉函数.但是要注意对称轴还有左下角那个破点! cpp include using namespace std; define ll long long const int MAXN=40000+5; i 阅读全文
posted @ 2019-04-11 23:07 韵意
摘要:一开始看了一看居然还想放弃了的. 把 $x,a_0,a_1,b_0,b_1$ 质因数分解. 例如 $x=p_1^{\alpha_1}p_2^{\alpha_2}...p_k^{\alpha_k}$ 由gcd的性质,对应指数的最小值,直接得一组方程. 再有lcm的性质,对应指数的最大值,再得一组方程. 阅读全文
posted @ 2019-04-08 20:25 韵意
摘要:```cpp //整除分块,n版 ll aliquot_patition(int n) { ll ans=0; for(int l=1,r; l 阅读全文
posted @ 2019-04-08 19:29 韵意
摘要:求 $n,m$ 中 $gcd(i,j)==p$ 的数对的个数 求 $\sum\limits_p \sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}[gcd(i,j)==p] $ 由套路: $=\sum\limits_p \sum\limits_{k=1}^{N}\m 阅读全文
posted @ 2019-04-08 18:46 韵意
摘要:https://www.luogu.org/problemnew/show/P1390 求 $\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m} gcd(i,j) $ 不会,看题解: 类似求gcd为p的求法: $ f(n) = \sum\limits_{i=1}^{ 阅读全文
posted @ 2019-04-07 17:32 韵意
摘要:https://www.luogu.org/problemnew/show/P2424 记 $\sigma(n)$ 为n的所有约数之和,例如 $\sigma(6)=1+2+3+6=12$ . 求 $ans(n)=\sum\limits_{i=x}^{y}\sigma(i)$ . 首先,记 $f(n) 阅读全文
posted @ 2019-04-07 16:42 韵意
摘要:各种线性筛的合集: https://www.cnblogs.com/zhoushuyu/p/8275530.html 常见积性函数: μ(n):莫比乌斯函数φ(n):欧拉函数d(n):一个数nn的约数个数σ(n):一个数nn的约数和f(x)=x^k(k∈N):这个玩意儿也是积性函数 线性筛素数 线性 阅读全文
posted @ 2019-04-05 10:43 韵意
摘要:#include #include #include #include using namespace std; const int MAXN = 1e6+1e3; //待筛的区间[L,R]长度 const int N = 50001;//保证大于(2^31-1)的算数平方根 bool prime[MAXN]; bool seive[N]; typedef long long ll;... 阅读全文
posted @ 2019-03-09 19:38 韵意
摘要:5.求 $\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}[gcd(i,j)==p]$ : 对于每个素数p,另有素数p1,p2,gcd(p1p,p2p)==p,所以对于每个素数,每个互质的数对都会提供贡献,求互质的数对的个数?欧拉函数即可。注意p1p和p2p都不能 阅读全文
posted @ 2019-03-08 15:48 韵意
摘要:http://codeforces.com/gym/102028 A. Xu Xiake in Henan Province 看起来像水题。乱搞一下,还真是。 #include<bits/stdc++.h> using namespace std; #define ll long long int 阅读全文
posted @ 2019-03-02 21:44 韵意
摘要:https://codeforces.com/problemset/problem/1033/C 一开始觉得自己的答案会TLE,但是吸取徐州赛区的经验去莽了一发。 其实因为下面这个公式是 $O(nlogn)$ 的,不是 $O(n²)$ ,所以这样做是可行的。学到了新的知识。 $$\sum\limit 阅读全文
posted @ 2019-02-24 21:34 韵意
摘要:https://codeforces.com/contest/1114/problem/C 很有趣的一道数论,很明显是要求能组成多少个基数。 可以分解质因数,然后统计各个质因数的个数。 比如8以内,有8/2=4个2+8/4=2个2+8/8=1个2,这样统计是log复杂的。 需要小心的是乘法爆ll的情 阅读全文
posted @ 2019-02-22 01:24 韵意
摘要:https://scut.online/p/261 由于M不是质数,要用扩展欧几里得求逆元,而不是费马小定理! 由于M不是质数,要用扩展欧几里得求逆元,而不是费马小定理! 由于M不是质数,要用扩展欧几里得求逆元,而不是费马小定理! 最后小心逆元是负数的情况。 阅读全文
posted @ 2019-02-21 20:26 韵意
摘要:https://codeforces.com/problemset/problem/773/A 一开始二分枚举d,使得(x+d)/(y+d)>=p/q&&x/(y+d)<=p/q,错在这些数是离散的,不能由两边异号判定一定存在这个交点。 然后改成枚举d,使得y=d*q,这样就一定是倍数了。然后就是要 阅读全文
posted @ 2019-02-21 18:28 韵意
摘要:http://codeforces.com/problemset/problem/346/A 观察了一下,猜测和他们的最大公因数有关,除以最大公因数前后结果是不会变的。 那么怎么证明一定是有n轮呢?我猜就是因为现在至少有几个是互质的,所以总是可以构造出1?具体怎么证明呢?还是看看别人的思路吧…… 首 阅读全文
posted @ 2019-01-27 19:08 韵意