
数论
文章平均质量分 52
swust_wbh
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HDU4542-小明系列故事——未知剩余系(数论)
题目在http://acm.hdu.edu.cn/showproblem.php?pid=4542 当type=0的时候,就是求因子个数为k的最小数。我们知道,一个数可以这样分解: 其中p1,p2……,pr都是素数并且都不相同所以思路就是将k这个数进行分解,然后搜索出所有的情况,找到最小值即可。当type=1的时候,设我们求的数为n,那么这个数的因子个数就为n-k;求这样一原创 2013-04-12 15:16:10 · 718 阅读 · 0 评论 -
POJ 1150(数论) 代码量极少的解法
先考虑N!最后一位非0的数的求法。我们构造一个数组table[4]={6,2,4,8},这个数组的特点就是table[(i+1)%4]=(table[i]*2)%10那么table[i]*2相当于是数组下标往右移动了一位(移动到最右边就从左边循环),table[i]*1 不变table[i]*2 右1位table[i]*3 右3位table[i]*4原创 2014-04-21 11:11:36 · 837 阅读 · 0 评论 -
HDU 4610(数论+枚举状态)
若x=a0^p0*a1^p1*……*ai^pi(a0,a1……,ai是不同的素数)对于条件3:因子和=(a0^0+a0^1+……+a0^p0)*(a1^0+a1^1+……+a1^p1)*……如果是素数,显然质因子个位要为1,并且(a0^(p0+1)-1)/(a0-1)为素数对于条件4:设因子积为a0^q0*a1^q1*……*ai^qi(a0,a1……,ai是不同的素数)则有qi=(原创 2013-09-23 16:28:49 · 937 阅读 · 0 评论 -
HDU 4602
a[1]=1;a[2]=2;a[n]=2*a[n-1]+2^(n-3)=2^2*a[n-2]+2*2^(n-3)=2^3[n-3]+3*2^(n-3)=……=2^(n-2)a[2]+(n-2)*2^(n-3)=2^(n-1)+(n-2)*2^(n-3);#include#include#include#include#include#includeusing namespa原创 2013-08-18 19:53:53 · 446 阅读 · 0 评论 -
UESTC 1723
#include#include#include#include#include#include#includeusing namespace std;#define lc l,m,index#define rc m+1,r,index#define ll long long#define inf 0x3f3f3f3f#define N 100000原创 2013-07-04 14:51:36 · 506 阅读 · 0 评论 -
UESTC 1895(分解质因数)
#include#include#include#include#include#include#includeusing namespace std;#define lc l,m,index<<1#define rc m+1,r,index<<1|1#define ll long long#define inf 0x3f3f3f3f#define N 100005#de原创 2013-07-05 10:33:21 · 659 阅读 · 0 评论 -
UESTC1720(容斥原理)
#include#include#include#include#include#include#includeusing namespace std;#define lc l,m,index<<1#define rc m+1,r,index<<1|1#define ll long long#define inf 0x3f3f3f3f#define N 1000005#d原创 2013-07-03 20:56:34 · 518 阅读 · 0 评论 -
UESTC 1552(欧拉函数)
#include#include#include#include#include#includeusing namespace std;#define lc l,m,index<<1#define rc m+1,r,index<<1|1#define ll long long#define inf 0x3f3f3f3f#define N 10005int n,m,ans;原创 2013-07-01 16:58:47 · 620 阅读 · 0 评论 -
hdu4556(欧拉函数)
#include#include#include#include#include#includeusing namespace std;#define lc l,m,index<<1#define rc m+1,r,index<<1|1#define ll long long#define inf 0x3f3f3f3f#define N 1000005ll n;ll ph原创 2013-07-01 16:08:32 · 616 阅读 · 0 评论 -
fzu1649(大数素数判定)
#include#include#include#include#include#includeusing namespace std;#define lc l,m,index<<1#define rc m+1,r,index<<1|1#define ll long long#define inf 0x3f3f3f3fll n,a;bool prime(ll num){原创 2013-07-01 15:25:55 · 822 阅读 · 0 评论 -
UESTC 1896(数论)
#include#include#include#include#include#include#includeusing namespace std;#define lc l,m,index<<1#define rc m+1,r,index<<1|1#define ll long long#define inf 0x3f3f3f3f#define N 100005#de原创 2013-07-05 19:47:53 · 516 阅读 · 0 评论 -
HDU4565(数学)
构造An=(a+sqrt(b)^n+(a-sqrt(b))^n,An为整数。由于b的范围,求An即可。An*((a+sqrt(b))+(a-sqrt(b)))=...=2*a*An=...=A(n+1)+(a*a-b)*A(n-1),得到递推关系A(n+1)=2*a*An+(b-a*a)*A(n-1)。构造矩阵temp[2][2]={2*a,-a*a+b,1,0}.使用矩阵快速原创 2013-06-18 16:18:26 · 486 阅读 · 0 评论 -
hdu 4549(矩阵优化递推,数论,二分快速幂)
设f(0)=1,f(1)=0,f(n)=f(n-1)+f(n-2)(n>=2)。那么有F(n)=a^f(n)*b^f(n+1)。根据费马小定理,1000000007是一个素数,那么所求可以化简为a^(f(n)%1000000006)*b^(f(n+1)%1000000006),那么就可以先求f(n)和f(n+1),再用二分快速幂求得结果。由于n比较大,求f(n)和f(n+1)要用矩原创 2013-05-21 14:03:17 · 1252 阅读 · 4 评论 -
矩阵快速幂求斐波拉切数列
#include#include#include#include#includeusing namespace std;#define ll long long#define N 2struct matrix{ll m[N][N];};ll ans[N][N],temp[N][N];matrix mul(ll a[N][N],ll b[N][N]原创 2013-05-20 22:46:20 · 660 阅读 · 0 评论 -
hdu 3555(数位dp)
#include#include#include#include#include#include#includeusing namespace std;#define N 25#define ll __int64ll dp[N][3];ll n;//dp[i][0] 含49的//dp[i][1] 不含49且最高位是9的//dp[i][2] 不含49且最高位不是9的原创 2014-04-22 11:15:11 · 490 阅读 · 0 评论