数论
Start_to_crazy
这个作者很懒,什么都没留下…
展开
-
HDU2824欧拉函数筛选法打表
题意: 求a到b的所有欧拉函数值。 题解: 欧拉函数值筛选法打表就可以了,普通的打表会超时的。#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;#define LL long long int const int MAXN=3000000+7;LL euler[MAXN原创 2018-01-14 20:33:33 · 301 阅读 · 0 评论 -
kuangbin专题十四 POJ2478 欧拉函数模板题
题意: 给定一个数n,求在[1,n]这个范围内两两互质的数的个数。 题解: 欧拉函数模板题。#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;#define LL long long int const int MAXN=1e6+7;LL euler[MAXN];in原创 2018-01-15 22:17:56 · 297 阅读 · 0 评论 -
kuangbin专题十四 HDU2161 素数打表
题意: 输入一个数字,判断这个数字是不是素数,n<=0时,输入结束。 题解: 素数打表就好了,还有就是这道题2不是素数。。。#include<stdio.h>#include<string.h>#include<math.h>#include<algorithm>using namespace std;#define LL long long int const i原创 2018-01-15 21:46:50 · 264 阅读 · 0 评论 -
kuangbin专题十四 LightOJ1213 规律+快速幂
题意: 告诉你一段代码,然后要你找规律进行优化。 题解: 一看这道题就知道是有规律的但是硬是想了一下午都没想出来,结果上手打代码模拟一番之后就得出了答案,ORZ,不禁感叹实践出真理。这道题是怎么个规律呢?公式为:sum*k*n^(k-1).这个公式怎么的出来的呢?首先sum就是数组的总和,k就是多少行,n是数组的长度。好,现在来推导规律,首先我们看到代码就应该知道最里面那一行肯原创 2018-01-15 18:42:12 · 221 阅读 · 0 评论 -
kuangbin专题十四 LightOJ 1214 大数除法
题意: 要你求大数除法,其中b会爆int,都是32位有符号来坑人的。。int31位有符号。 题解: 一个大数除法模板题#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;#define LL long long intconst int MAXN=200+7;char原创 2018-01-15 16:45:32 · 310 阅读 · 0 评论 -
kuangbin专题十四 LightOJ1220 分解质因数
题意: 给你一个数n = b^p,求p的最大值。 题解: 分解质因数,一开始我以为是找到x = p1^x1*p2^x2*p3^x3*…*pk^xk中指数的最大值,后来我错了。。原来是要找他们的最大公约数,ORZ,因为n = b^p是由一个数和一个指数组成的,所以相当于要求出他们所有的指数的最大公约数得出一个数b,例如6=2^1*3^1应该是得到6=6^1吧,为什么呢?因为gcd原创 2018-01-15 15:30:05 · 381 阅读 · 0 评论 -
kuangbin专题十四 LightOJ1234 打表
题意: 给你一个n,让你求1/1+1/2+1/3+..1/n。 题解: 直接打表,但是double会爆空间的,然后在网上学了一招。。每100个分一组,这样就不会爆空间了,然后让我蛋疼的是怎么清空后面的零,结果我看网上的题解都是不用清空的。。what? 其实这道题还有个数论的解法,大家可以去看看这个博客: http://blog.csdn.net/newpr原创 2018-01-15 14:31:42 · 294 阅读 · 0 评论 -
kuangbin专题十四 LightOJ1259 素数筛
题意: T组询问,每组询问是一个偶数n,验证哥德巴赫猜想,回答n=a+b 且a,b(a<=b)是质数的方案个数。 题解: 用素数筛做这道题就可以了,然后这道题的内存好像不够开太多int,所以再判断素数的时候用bool,然后存放的数组要/10就可以过了。#include<stdio.h>#include<string.h>#include<math.h>#include<a原创 2018-01-15 11:26:31 · 280 阅读 · 0 评论 -
kuangbin专题十四 数论基础 LightOJ 1282
题意: 给定两个数n,k 求n^k的前三位和最后三位。 题解: 后面三位可以用快速幂求,难就难在前面的三位怎么做了,看了很多,发现有个大佬用除法去求出前三位,ORZ,有个坑点就是后三位记得补零,和如果你是用除法去求前面三位的记得用double去做,因为你如果用long long int 去做的话,除的时候会去掉小数部分的,会导致后面的数无法进位的。然后再你返回double值的原创 2018-01-15 10:33:54 · 270 阅读 · 0 评论 -
kuangbin专题十四 LightOJ 1341 分解质因数
题意: 给一对数字 a,b ,a是一个长方形的面积,问有多少种整数的边的组合可以组成面积为a的长方形,要求最短的边不得小于b,其中a不能是正方形的面积。 题解: 分解质因数的应用,有两个公式: (1)一个整数n可以表示为若干素数乘积:n = p1^a1 * p2^a2*…*pk^ak; (2) n 的正因数的个数可以表示为: num = (a1+1)*(a2+1)…(ak原创 2018-01-15 01:51:33 · 295 阅读 · 0 评论 -
HDU 1299分解素因子--唯一分解定理
题意: 求使不定方程1 / x + 1 / y = 1 / n成立的正整数解有多少个。 题解: 先说一下唯一分解定理的大概概念,即任何一个大于1的数字可以被n个素数相乘来表示。其主要有两条公式供大家使用: (1)一个整数n可以表示为若干素数乘积: n = p1^a1 * p2^a2*…*pk^ak;(其中p1,p2…pk都是n的素数,且p1#include#incl原创 2018-01-15 01:01:43 · 339 阅读 · 0 评论 -
kuangbin专题十四 数论基础 LightOJ-1370(欧拉函数的应用)
题意: 给出一些数字,每个数字都有一个对应的价值x,假设有一个数,小于它的数有x个与它互质,我们称它的价值是x。对于每个数字找到一个价值大于等于这个数的数,求找到的所有数的最小和。 好吧,上面都是题目的字面意思,我们来这样翻译一下吧: 给出一些数字,对于每个数字找到一个欧拉函数值大于等于这个数的数,求找到的所有数的最小和。 题解: 为什么是求欧拉函数呢?因为原创 2018-01-14 21:42:53 · 268 阅读 · 0 评论 -
POJ2407求单个数的欧拉函数值
题意: 求n的欧拉函数值。 题外话: 今天本来打算学DP的,发现第一道求m个子序列就把我打趴了一整天,所以先学完数论再去战斗DP。。ORZ,好,下面来说一下欧拉函数吧。 欧拉函数 在数论中,对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。(不是互质的素数数目,当初我看错了,以为是互质的素数数目,蒙了半天)。 n的所有素因子和就是euler[n]*n/2; 欧原创 2018-01-14 20:41:31 · 653 阅读 · 0 评论 -
HDU1576 A/B 求逆元模板(自己观看版。。。)
题解: 看了很多篇博客之后终于看懂了费马小定理,但是扩展欧几里得我没怎么弄明白,所以等到我数论学了点再看看。。。。 我 做这个道题看扩展欧几里得版本解释的详细的是这位大佬的博客: http://blog.csdn.net/haskei/article/details/53646173 然后两个比较系统的解释的是这个大佬的博客: https://www.cnblogs.co原创 2018-01-08 15:47:14 · 265 阅读 · 0 评论