随笔分类 -  数论

* SPOJ PGCD Primes in GCD Table (需要自己推线性筛函数,好题)
摘要:题目大意:给定n,m,求有多少组(a,b) 0g(p'x)=mu[x]2.x%p'!=0 , 那么对于先前所有的 x/p 来说,此时乘了p' , 若p!=p' , 那么因为多了一个因子 mu[p'*x/p] = -mu[x/p] , 所以在p!=p'时,所有的情况相加为-g(x),在考虑枚举到的p'... 阅读全文
posted @ 2015-04-14 22:25 Love风吟 阅读(230) 评论(0) 推荐(0)
SPOJ - VLATTICE Visible Lattice Points 莫比乌斯反演
摘要:题目大意:从坐标(0,0,0)处观察到所有在(n,n,n)范围内的点的个数,如果一条直线上出现多个点,除了第一个,后面的都视为被遮挡了这题目稍微推导一下可得知 gcd(x,y,z) = 1的点是可观察到的,若三者的gcd>1,则这个点之前必然出现了一个(x/gcd(x,y,z) , y/gcd(x,... 阅读全文
posted @ 2015-04-14 13:39 Love风吟 阅读(151) 评论(0) 推荐(0)
HDU 1695 莫比乌斯反演
摘要:题目大意:从1~b中取一个数作为x , 1~d中取一个数作为y令gcd(x,y) = k 的取法有多少种这里我们可以用莫比乌斯函数来解决问题这里用到的公式是[gcd(x,y)==1] = Σ(del|gcd(x,y))mu(del)Σ(1 2 #include 3 #include 4 5 u... 阅读全文
posted @ 2015-04-13 18:03 Love风吟 阅读(158) 评论(0) 推荐(0)
COJ 1163 乘法逆元的求解
摘要:乘法逆元就是求一个 a/b = c(mod m)在已知a%m , b%m 的条件下 求c的解 1 #include 2 #include 3 4 using namespace std; 5 #define ll long long 6 const int N = 100005; 7 int ... 阅读全文
posted @ 2015-02-02 01:53 Love风吟 阅读(257) 评论(0) 推荐(0)
HDU 2815 扩展baby step giant step 算法
摘要:题目大意就是求 a^x = b(mod c) 中的x用一般的baby step giant step 算法会超时这里参考的是http://hi.baidu.com/aekdycoin/item/236937318413c680c2cf29d4map平衡树查找值 1 #include 2 #incl... 阅读全文
posted @ 2015-02-02 01:20 Love风吟 阅读(421) 评论(0) 推荐(0)
UVA 11426 GCD - Extreme (II)
摘要:题目大意:求出我们可以通过求∑(1#include #include using namespace std;#define ll long longconst int N = 4000010;int prime[N] , phi[N] , tot;bool vis[N];void get_phi(... 阅读全文
posted @ 2015-01-29 21:53 Love风吟 阅读(123) 评论(0) 推荐(0)
POJ 1222 EXTENDED LIGHTS OUT
摘要:题目大意:灯有亮(1),熄灭(0)两种状态,按一个位置的按钮,那么当前位置以及上下左右的灯都会改变一次状态,给定一个灯的初始状态,求一个按钮按的状态是这些灯都熄灭因为最后灯均为0,按钮的状态为 x[m] m=i*6+j(i行j列)这道题目中灯固定 5行6列30个,那么每一个的位置都最多只跟 5 个按... 阅读全文
posted @ 2015-01-21 17:02 Love风吟 阅读(125) 评论(0) 推荐(0)
高斯消元法
摘要:高斯消元问题通常用来对线性方程组的求解根据线性代数中所学,线性方程通常可表示成a[i][0]*x0 + a[i][1]*x1 +a [i][2]*x2 ... + a[i][n-1]*xn-1 = b[i]0=0?x:-x; 15 } 16 17 inline void my_swap(int &... 阅读全文
posted @ 2015-01-21 15:26 Love风吟 阅读(303) 评论(0) 推荐(0)
POJ 2065 高斯消元求解问题
摘要:题目大意:f[k] = ∑a[i]*k^i % p每一个f[k]的值就是字符串上第 k 个元素映射的值,*代表f[k] = 0 , 字母代表f[k] = str[i]-'a'+1把每一个k^i求出保存在矩阵中,根据字符串的长度len,那么就可以得到len行的矩阵,利用高斯消元解决这个线性方程组 1... 阅读全文
posted @ 2015-01-21 15:12 Love风吟 阅读(226) 评论(0) 推荐(0)
POJ 2891 Strange Way to Express Integers
摘要:模线性同余方程组的求解 1 #include 2 #include 3 4 using namespace std; 5 const int N = 1005; 6 7 #define ll long long 8 ll a[N] , b[N]; 9 10 ll ex_gcd(ll a , ... 阅读全文
posted @ 2015-01-17 21:17 Love风吟 阅读(146) 评论(0) 推荐(0)
FZU 1402 猪的安家 中国剩余定理
摘要:这里每两个a[i]之间都互素 , 所以必然存在一个解 , 是一般模线性方程组中的一种特殊情况 1 #include 2 #include 3 4 using namespace std; 5 const int N = 15; 6 7 #define ll long long 8 ll a[... 阅读全文
posted @ 2015-01-17 21:09 Love风吟 阅读(234) 评论(0) 推荐(0)
HDU 1573 解同余模线性方程组
摘要:题目意思很直接就是一道裸的解线性同余模方程组的题目 1 #include 2 #include 3 4 using namespace std; 5 6 #define N 15 7 int r[N] , m[N]; 8 9 int ex_gcd(int a , int &x , int ... 阅读全文
posted @ 2015-01-17 20:41 Love风吟 阅读(204) 评论(0) 推荐(0)
POJ 2115 简单的模线性方程求解
摘要:简单的扩展欧几里得题这里 2^k 不能自作聪明的用 1= 31时就爆int了 , 即使定义为long long 也不能直接这样写后来老老实实 for(int i=1 ; i 2 #include 3 4 using namespace std; 5 #define ll long long 6 ... 阅读全文
posted @ 2015-01-17 16:14 Love风吟 阅读(215) 评论(0) 推荐(0)
POJ 2142 TheBalance 模线性方程求解
摘要:题目大意:就是将两种砝码左右摆放,能够在物品放置在天平上时保持平衡很容易得到 ax + by = t的模线性方程按题目要求,希望首先满足 |x| + |y| 最小 , 如果有多种情况,再满足所有砝码质量最小,也就是a|x| + b|y|最小x = x0 + b/g * ky = y0 - a/g *... 阅读全文
posted @ 2015-01-17 15:33 Love风吟 阅读(183) 评论(0) 推荐(0)
POJ 1811 大整数素数判断 Miller_Rabin
摘要:1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 9 #define ll long long 10 const int S = 10... 阅读全文
posted @ 2014-12-26 17:18 Love风吟 阅读(228) 评论(0) 推荐(0)
POJ 3101 大数+gcd
摘要:题目大意:星星作圆周运动的周期给出,若已连成一条线,下一次所有星星在同一条线上的时间用分数形式输出这里我们可以利用追及问题来计算出两个星星之间连成一条直线的时间,也即速度快的星星追上速度慢的星星弧度PIt = PI /abs (2PI / t1 - 2PI / t2) = t1 * t2 / (2 ... 阅读全文
posted @ 2014-11-24 18:03 Love风吟 阅读(215) 评论(0) 推荐(0)
POJ 3090 坐标系上的视线遮蔽问题
摘要:DescriptionA lattice point (x, y) in the first quadrant (x and y are integers greater than or equal to 0), other than the origin, is visible from the ... 阅读全文
posted @ 2014-07-23 16:48 Love风吟 阅读(332) 评论(0) 推荐(0)
POJ 2478 欧拉函数打表的运用
摘要:http://poj.org/problem?id=2478此题只是用简单的欧拉函数求每一个数的互质数的值会超时,因为要求很多数据的欧拉函数值,所以选用欧拉函数打表法。PS:因为最后得到的结果会很大,所以结果数据类型不要用int,改为long long就没问题了#include #include u... 阅读全文
posted @ 2014-07-23 16:26 Love风吟 阅读(617) 评论(0) 推荐(0)
POJ1061青蛙的约会
摘要:Description两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个... 阅读全文
posted @ 2014-07-22 20:54 Love风吟 阅读(258) 评论(0) 推荐(0)