随笔分类 -  数论

UVA 12169 Disgruntled Judge 扩展欧几里得
摘要:/** 题目:UVA 12169 Disgruntled Judge 链接:https://vjudge.net/problem/UVA-12169 题意:原题 思路: a,b范围都在10000以内。暴力枚举1e8;但是还要判断。所以时间不够。 如果可以枚举a,然后算出b,再判断可行性,那么时间上是可行的。但是是多次方的方程无法解。 想其他办法: xi = (a*xi-1 + b) % 10... 阅读全文

posted @ 2017-04-19 12:52 hnust_accqx 阅读(160) 评论(0) 推荐(0)

Help Hanzo lightof 1197 求一段区间内素数个数,[l,r] 在 [1,1e9] 范围内。r-l<=1e5; 采用和平常筛素数的方法。平移区间即可。
摘要:/** 题目:Help Hanzo lightof 1197 链接:https://vjudge.net/contest/154246#problem/M 题意:求一段区间内素数个数,[l,r] 在 [1,1e9] 范围内。r-l #include #include #include #include #include #include using namespace std; ty... 阅读全文

posted @ 2017-04-17 13:49 hnust_accqx 阅读(766) 评论(0) 推荐(0)

Death to Binary? 分析模拟
摘要:/** 题目:Death to Binary? 链接:https://vjudge.net/contest/154246#problem/T 题意:略。 思路: 注意事项: 给的字符串存在前导0; 存在0+0 */ #include #include #include #include #include #include #include using namespace st... 阅读全文

posted @ 2017-04-16 20:23 hnust_accqx 阅读(187) 评论(0) 推荐(0)

C Looooops 扩展欧几里得
摘要:/** 题目:C Looooops 链接:https://vjudge.net/contest/154246#problem/S 题意:for(i = a; i!=b; i = (i+c)%(2^k)) statement; 求statement执行的次数。 思路: 设:次数为x, 最终A=k*mod+b; mod = 2^k; (a + c*t)%mod = b a + c*t = mo... 阅读全文

posted @ 2017-04-15 10:11 hnust_accqx 阅读(221) 评论(0) 推荐(0)

青蛙的约会 扩展欧几里得 方程ax+by=c的整数解 一个跑道长为周长为L米,两只青蛙初始位置为x,y;(x!=y,同时逆时针运动,每一次运动分别为m,n米;问第几次运动后相遇,即在同一位置。
摘要:/** 题目:青蛙的约会 链接:https://vjudge.net/contest/154246#problem/R 题意:一个跑道长为周长为L米,两只青蛙初始位置为x,y;(x!=y,同时逆时针运动,每一次运动分别为m,n米;问第几次运动后相遇,即在同一位置。 如果永远无法相遇输出Impossible。 思路: 设:次数为t; 圈总长为: L A位置:(x+m*t)%L; B位置: (y... 阅读全文

posted @ 2017-04-14 20:05 hnust_accqx 阅读(390) 评论(0) 推荐(0)

The Super Powers UVA 11752 分析分析 求无符号长整形以内的数满足至少可以用两种不同的次方来表示。比如64 = 2^6 = 8^2; 一个数的1次方不算数。
摘要:/** 题目:The Super Powers UVA 11752 链接:https://vjudge.net/contest/154246#problem/Y 题意:求无符号长整形以内的数满足至少可以用两种不同的次方来表示。比如64 = 2^6 = 8^2; 一个数的1次方不算数。 思路: 分析过程如下: 1 = 1^1 1^2 1^3 16 = 2^4 4^2 64 = 2^6 8^2 81... 阅读全文

posted @ 2017-04-14 11:32 hnust_accqx 阅读(209) 评论(0) 推荐(0)

GCD - Extreme (II) for(i=1;i<N;i++) for(j=i+1;j<=N;j++) { G+=gcd(i,j); } 推导分析+欧拉函数
摘要:/** 题目:GCD - Extreme (II) 链接:https://vjudge.net/contest/154246#problem/O 题意: for(i=1;i gcd(x/i,n/i)=1;那么x/i的个数为(n/i)的欧拉函数值phi(n/i); 那么:f[n] = sum(i*phi(n/i)) (i为n的约数) 求每个f[n]不需要对每一个n单独求约数。 可以利用素数筛法类似... 阅读全文

posted @ 2017-03-31 20:33 hnust_accqx 阅读(1905) 评论(0) 推荐(0)

Trailing Zeroes (III) 假设n!后面有x个0.现在要求的是,给定x,要求最小的n; 判断一个n!后面有多少个0,通过n/5+n/25+n/125+...
摘要:/** 题目:Trailing Zeroes (III) 链接:https://vjudge.net/contest/154246#problem/N 题意:假设n!后面有x个0.现在要求的是,给定x,要求最小的n; 思路:判断一个n!后面有多少个0,通过n/5+n/25+n/125+... */ #include #include #include #include #include us... 阅读全文

posted @ 2017-03-31 13:52 hnust_accqx 阅读(219) 评论(0) 推荐(0)

Fantasy of a Summation n个数,k层重复遍历相加。求它的和%mod的值;推导公式+快速幂
摘要:/** 题目:Fantasy of a Summation 链接:https://vjudge.net/contest/154246#problem/L 题意:n个数,k层重复遍历相加。求它的和%mod的值; 思路:很容易想到n个数出现在要加的和中的次数相同。 又所有数的出现次数为n^k * k: 所以每个数出现的次数为n^k * k / n; */ #include #include #i... 阅读全文

posted @ 2017-03-31 13:30 hnust_accqx 阅读(326) 评论(0) 推荐(0)

K - Large Division 判断a是否是b的倍数。 a (-10^200 ≤ a ≤ 10^200) and b (|b| > 0, b fits into a 32 bit signed integer). 思路:取余;
摘要:/** 题目:K - Large Division 链接:https://vjudge.net/contest/154246#problem/K 题意:判断a是否是b的倍数。 a (-10^200 ≤ a ≤ 10^200) and b (|b| > 0, b fits into a 32 bit signed integer). 思路:取余; */ #include #include #... 阅读全文

posted @ 2017-03-31 12:21 hnust_accqx 阅读(183) 评论(0) 推荐(0)

Pairs Forming LCM 在a,b中(a,b<=n)(1 ≤ n ≤ 10^14),有多少组(a,b) (a<b)满足lcm(a,b)==n; lcm(a,b)=p1 ^ max(a1,b1) * p2 ^ max(a2,b2) *..........*pn ^ max(an,bn)
摘要:转自:http://www.cnblogs.com/shentr/p/5285407.html http://acm.hust.edu.cn/vjudge/contest/view.action?cid=109329#problem/B 全题在文末。 题意:在a,b中(a,b #include #include using namespace std; typedef long lon... 阅读全文

posted @ 2017-03-28 21:34 hnust_accqx 阅读(591) 评论(0) 推荐(0)

Harmonic Number 求Hn; Hn = 1 + 1/2 + 1/3 + ... + 1/n; (n<=1e8) T<=1e4; 精确到1e-8; 打表或者调和级数
摘要:/** 题目:Harmonic Number 链接:https://vjudge.net/contest/154246#problem/I 题意:求Hn; Hn = 1 + 1/2 + 1/3 + ... + 1/n; (n #include #include #include #include using namespace std; const int maxn = 1e4+10; cons... 阅读全文

posted @ 2017-03-28 17:17 hnust_accqx 阅读(382) 评论(0) 推荐(0)

G - Harmonic Number (II) 找规律--> 给定一个数n,求n除以1~n这n个数的和。n达到2^31 - 1;
摘要:/** 题目:G - Harmonic Number (II) 链接:https://vjudge.net/contest/154246#problem/G 题意:给定一个数n,求n除以1~n这n个数的和。n达到2^31 - 1; 思路: 首先我们观察一下数据范围,2^31次方有点大,暴力会超时,所以我们看看有没有啥规律,假设 tmp 是 n/i 的值,当n == 10的时候(取具体值) 当 t... 阅读全文

posted @ 2017-03-27 21:24 hnust_accqx 阅读(200) 评论(0) 推荐(0)

F - Goldbach`s Conjecture 对一个大于2的偶数n,找有多少种方法使两个素数的和为n;保证素数a<=b; a+b==n; a,b都为素数。
摘要:/** 题目:F - Goldbach`s Conjecture 链接:https://vjudge.net/contest/154246#problem/F 题意:对一个大于2的偶数n,找有多少种方法使两个素数的和为n;保证素数a using namespace std; typedef long long ll; const int maxn = 1e7+10; bool flag[maxn... 阅读全文

posted @ 2017-03-25 21:21 hnust_accqx 阅读(207) 评论(0) 推荐(0)

E - Leading and Trailing 求n^k得前三位数字以及后三位数字,保证一定至少存在六位。
摘要:/** 题目:E - Leading and Trailing 链接:https://vjudge.net/contest/154246#problem/E 题意:求n^k得前三位数字以及后三位数字,保证一定至少存在六位。 思路:后三位求法只要不断对1000取余就行了。 前三位求法: 对一个数x,他可以用科学计数法表示为10^r*a (r为次方,1 using namespace std; ty... 阅读全文

posted @ 2017-03-25 19:35 hnust_accqx 阅读(226) 评论(0) 推荐(0)

D - Sigma Function 1~n内有多少个约数和为偶数
摘要:/** 题目:D - Sigma Function 链接:https://vjudge.net/contest/154246#problem/D 题意:求1~n内约数和为偶数的数的个数。 思路:一个数的约数和为那个数的每个素因子的等比和相乘。如题目所给公式就是等比和化简之后的式子。 那么要判断一个数约数和是否为偶数,可以通过观察它的各个素因子等比和来判断。如果存在某个素因子的等比和为偶数。 那么... 阅读全文

posted @ 2017-03-25 11:31 hnust_accqx 阅读(377) 评论(0) 推荐(0)

C - Aladdin and the Flying Carpet 有多少种长方形满足面积为a(<=10^12),且最短边>=b;长方形边长为整数,且一定不可以是正方形。
摘要:/** 题目:C - Aladdin and the Flying Carpet 链接:https://vjudge.net/contest/154246#problem/C 题意:有多少种长方形满足面积为a,且最短边>=b;长方形边长为整数,且一定不可以是正方形。 思路:求出a的素因子以及每个素因子的个数,然后搜索所有满足条件的方法数。 其实可以求出所有 using namespace std... 阅读全文

posted @ 2017-03-24 20:37 hnust_accqx 阅读(176) 评论(0) 推荐(0)

Problem H. The Fence 通过取余判重,求得某个区间的某些个数为某个数的倍数。
摘要:/** 题目:Problem H. The Fence 链接:https://vjudge.net/problem/Gym-101090H 题意:给定一个字符串,只有0或者1; 问:假如两个不同的1之间的0,1数量是k的倍数(包括0倍)则输出这两个1的位置; 思路:%k;直到遇到两个相同的余数,说明之间的01数量为k的倍数。 */ #include using namespace std; ty... 阅读全文

posted @ 2017-03-22 19:37 hnust_accqx 阅读(195) 评论(0) 推荐(0)

Solve Equation gcd(x,y)=gcd(x+y,lcm(x,y)) gcd(x,y)=1 => gcd(x*y,x+y)=1
摘要:/** 题目:Solve Equation 链接:http://acm.hnust.edu.cn/JudgeOnline/problem.php?id=1643 //最终来源neu oj 2014新生选拔赛题 题意:给定两个数的和以及他们的最小公倍数,求这两个数。 思路: x+y=A lcm(x,y)=B => x*y/gcd(x,y)=B 要把这两个公式联立,那么必须消掉gcd; 设:d ... 阅读全文

posted @ 2017-03-16 21:08 hnust_accqx 阅读(1196) 评论(0) 推荐(0)

欧拉函数推导
摘要:欧拉函数 :欧拉函数是数论中很重要的一个函数,欧拉函数是指:对于一个正整数 n ,小于 n 且和 n 互质的正整数(包括 1)的个数,记作 φ(n) 。完全余数集合:定义小于 n 且和 n 互质的数构成的集合为 Zn ,称呼这个集合为 n 的完全余数集合。 显然 |Zn| =φ(n) 。有关性质:对 阅读全文

posted @ 2017-03-16 19:43 hnust_accqx 阅读(1061) 评论(0) 推荐(0)

导航