数论
xaphoenix
这个作者很懒,什么都没留下…
展开
-
bzoj1607 [Usaco2008 Dec]Patting Heads 轻拍牛头
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1607题目大意:给你n(n题目分析:暴力乱搞下就行。#include#include#include#include#include#includeusing namespace std;int read(){ int x=0,f=1;char ch=g原创 2016-02-16 23:23:17 · 353 阅读 · 0 评论 -
bzoj2301 [HAOI2011]Problem b (莫比乌斯函数)
首先可以想到分为四个前缀区间进行加加减减,考虑[1,a],[1,b][1,a],[1,b]这组: ∑i=1a∑j=1b[gcd(i,j)==k]\sum _{i=1}^{a} \sum_{j=1}^{b}[gcd(i,j)==k] =∑i=1a/k∑j=1b/k[gcd(i,j)==1]=\sum _{i=1}^{a/k} \sum_{j=1}^{b/k}[gcd(i,j)==1] =∑i=1原创 2017-05-09 17:35:26 · 369 阅读 · 0 评论 -
bzoj2986 Non-Squarefree Numbers (莫比乌斯函数)
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2986 首先能想到二分答案,然后判断1~X中有多少个squarefree,这里用莫比乌斯函数来容斥即可。#include<cstdio>#include<cstring>#include<cstdlib>#include<cmath>#include<iostream>#includ原创 2017-05-09 16:57:33 · 246 阅读 · 0 评论 -
bzoj3122 [Sdoi2013]随机数生成器
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3122题目大意:Xn+1=(aXn+b)%P 0题目分析:我们将递推式展开得到:Xn+1=a^n*x1+b+a^2*b+···+a^(n-1)*b。后半部分我们用等比数列进行化简。我们设d=(b/(a-1))%P。那么Xn+1=a^n*x1+d*a^n-db。令(x1+d)为p,原创 2016-02-22 22:57:25 · 421 阅读 · 0 评论 -
bozj2186 [Sdoi2008]沙拉公主的困惑
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2186题目大意:求n!中与m!互质的个数模R的值。n,m题目分析:我们所要求的答案为phi(m!)*n!/m! 模R的值。我们用线性筛法即可求解。#include#include#include#include#include#include#includeusin原创 2016-02-21 23:18:49 · 425 阅读 · 0 评论 -
bzoj2005 能量采集
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2005题目大意:在左边(0,0)处有一个发射器,在横坐标1~x,纵坐标1~y这xy点有接收器,发射器要对每一个点发射信息,发射到(x0,y0)的能量损失为(0,0)(x0,y0)这条线段上的点数(不包括端点)*2+1,问能量损失之和题目分析:一个点(x0,y0)和点(0,0)中间隔的原创 2016-02-20 13:21:01 · 332 阅读 · 0 评论 -
bzoj1041
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1041题目大意:求一个给定圆x^2+y^2=r^2上有多少个整点 r题目分析:我们对原式进行变形,(r-x)(r+x)=y*y我们设r-x和r+x的最大公约数为d,那么(r-x)/d的值一定也为平方数,我们设它为u^2。同理我们设r+x=d*v^2。那么2r=d*(u^2+v^2),原创 2016-02-20 12:52:54 · 401 阅读 · 0 评论 -
bzoj2659 [Beijing wc2012]算不出的算式
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2659向下取整和p/q的形式会让我们联想到斜率和整点的个数。那么原式子的前半部分我们可以看做是S1区域的整点个数,后半部分可以看做是S2区域整点个数。如果此时p=q,直线上有有点,但是我们可以直接计算出公式的值(p-1)(p+1)/4如果此时p!=q,直线上不存在点,原创 2016-02-16 23:02:24 · 798 阅读 · 0 评论 -
spoj ETF
题目链接:http://www.spoj.com/problems/ETF/题目大意:T组数据(T题目分析:筛法求phi即可#include#include#include#include#include#includeusing namespace std;int phi[1100000],prim[1100000],primm=0;bool mark[110000原创 2016-02-18 10:06:48 · 293 阅读 · 0 评论 -
spoj DIVSUM
题目链接:http://www.spoj.com/problems/DIVSUM/题目大意:T组数据(200000),每组数据给你一个整数n(n题目分析:筛出素数,然后暴力求即可#include#include#include#include#include#includeusing namespace std;const int maxn=1000; bool ma原创 2016-02-18 10:17:27 · 337 阅读 · 0 评论 -
spoj FINFRAC
题目链接:http://www.spoj.com/problems/FINFRAC/题目大意:给你四个数a,b,c,d让你求最小的q,和对应的p,使得a/b题目分析:参考博客:http://blog.csdn.net/gogdizzy/article/details/8727386 简要说下:我们进行分类讨论 (1)a>=b 我们设k为a整除b的值,那么a/b-k原创 2016-02-19 01:06:19 · 398 阅读 · 0 评论 -
spoj PROOT
题目链接:http://www.spoj.com/problems/PROOT/题目大意:多组数据,给你一个质数P(p题目分析:r为P的原根的充要条件是,对于P的每一个质因数p,r^((P-1)/p)模P不为1.#include#include#include#include#include#includeusing namespace std;typedef lon原创 2016-02-18 10:59:19 · 528 阅读 · 0 评论 -
spoj PRIME1
题目链接:http://www.spoj.com/problems/PRIME1/题目大意:T组数据(T100000题目分析:筛40000以内的质数,然后从n枚举到m判断即可#include#include#include#include#include#includeusing namespace std;const int maxn=40000;bool mark原创 2016-02-18 10:33:39 · 288 阅读 · 0 评论 -
spoj ARCTAN
题目链接:http://www.spoj.com/problems/ARCTAN/题目大意:给你A,让你求B+C的最小值,其中A,B,C满足arctan(1/A)=arctan(1/B)+arctan(1/C)题目分析:在等式两边同时取tan值,那么1/A=(C+B)/(BC-1) ,整理后得(BC-1)/A=B+C 令B+C为y,B为x,得y=((y-x)*x-1)/A 。再整理得y=原创 2016-02-18 10:01:05 · 388 阅读 · 0 评论 -
bzoj3629 [JLOI2014]聪明的燕姿
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3629题目大意:给定一个N,输出所有正约数之和等于N的数。题目分析:dfs即可。#include#include#include#include#include#includeusing namespace std;typedef long long LL;con原创 2016-02-17 00:57:24 · 526 阅读 · 0 评论 -
bzoj2705 [SDOI2012]Longge的问题
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2705题目大意:给定一个N,要求sigma(gcd(i,N))的值,1题目分析:我们枚举gcd(i,N)的值,即,枚举N的约数,时间复杂度为sqrt(N),然后对于每一个枚举值p,我们计算phi(N/p),由于N的值比较大,我们不能预处理,所以我们就暴力在sqrt(N)的时间内求出p原创 2016-02-17 00:24:07 · 773 阅读 · 0 评论 -
bzoj2818 Gcd
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2818题目大意:给你一个n,让你求使得gcd(x,y)为素数的有序数对(x,y)的个数,其中1题目分析:我们枚举1到n内的素数(gcd(x,y)的值),对于每一个素数p,我们需要找到数对(a,b)的个数,其中a和b互质且p*a和p*b均小于n。那么我们先用筛法求出phi和素数。并求出原创 2016-02-17 00:08:31 · 479 阅读 · 0 评论 -
bzoj2820 YY的 (莫比乌斯函数)
枚举质数pp,可以得到 ∑p=1min(n,m)∑t=1min(n/p,m/p)μ(t)[n/pt][m/pt]\sum _{p=1} ^{min(n,m)} \sum _{t=1}^{min(n/p,m/p)} \mu (t) [\frac{n/p}{t}][\frac{m/p}{t}] 令T=ptT=pt,原式可以化为 ∑T=1min(n,m)[nT][mT]∑p|Tμ(Tp)\sum _原创 2017-05-09 18:45:53 · 420 阅读 · 0 评论