- 博客(13)
- 收藏
- 关注
原创 扩展欧几里得求两多项式最大公因式
#include #include #include #include using namespace std;typedef long long LL;const double eps = 1e-8;const int MOD = 999983;const int N = 55;struct Poly{ int n; LL a[N];};Poly p
2013-10-14 13:01:35 2638
原创 HDU 2050 分割问题
有结论根据公式就可以。#include using namespace std;int main(){ int t;long long n; cin>>t; while(t--) cin>>n,cout<<2*n*n-n+1<<endl; return 0;}
2013-10-11 21:44:20 819
原创 HDU 1115 求多边形重心
一个均匀的多边形重心为 横纵坐标和分别除以六倍的面积。#include #include#include#include#include#include#includeusing namespace std;struct point{ double x,y; void input() { scanf("%lf%lf",&x,&y);
2013-10-07 20:09:48 664
原创 URAL 1698 自守数
好吧 苟哥总结好了我直接粘了自守数的定义 对于一个k位的自然数n,如果它的平方后的最后k位跟原数相同,那么n就叫做自守数。数学定义表达式为:。 一位数的自守数有三个,分别为1,5,6。两位数以上的自守数分为A、B两类,A类是以5结尾,B类是以6结尾。例如,以5结尾的自守数有25,625,90625等;以6结尾的自守数有76、376、9376等。
2013-10-06 19:47:36 985
原创 URAL 1456 求a模n的阶
首要条件是a,n互素,也就是求a^x=1(n)最小的x,根据欧拉函数可知最大为n的欧拉函数值。所以n的欧拉函数值的因子就可以了。#include #include#include#include#include#include#includeusing namespace std;#define ll long longll gcd(ll a,ll b){ re
2013-10-06 19:39:51 1640
原创 将一个数分解成多个素数和的方法数
题目描述:哥德巴赫猜想认为任一大于2的偶数,都可表示成两个素数之和,比如6 = 2+2+26 = 3+310 = 2+2+2+2+210 = 2+2+3+310 = 2+3+510 = 3+7像3+7与7+3只有顺序不一样的认为是一种方式问:给定一个10000以内的偶数,将它表示为素数的和有几种方式?(结果对10^9+7取模)
2013-10-05 13:23:54 14262
原创 URAL 1356 哥德巴赫猜想
题意:给出一个数,把它分解成几个素数相加的形式,要求分解出的素数的数量最小。这题分情况讨论就可以了,首先需要知道哥德巴赫猜想即一个大于4的偶数可以分解成两个素数和的形式。其次需要知道奇数加奇数等于偶数,奇数减奇数等于偶数。那么首先判断n是否是素数,如果是直接输出n就可以。接下来判断如果n是奇数,那么先判断n-2是否是素数,如果是的话那么最小数量的素数和即n-2 与 2,如果不是那么肯定
2013-10-04 15:26:08 836
原创 求分解后x的最小公倍数
import java.math.BigInteger;import java.util.*;public class Hello{ static final int N = 1005; static boolean prime[] = new boolean[N]; static int p[] = new int[N]; static BigInteger dp[][]
2013-10-03 19:07:23 700
原创 timus 1268 原根
题意:求K个素数pi对应的ni。ni满足:ni,ni^2,ni^3,...,ni^m对pi取模各不相同(i=1,2,3,...),且m最大,ni最大。理论基础: 原根的定义:首先,对于互质的两个整数a,m。必然存在:d 原根性质定理:如果a为m的原根,记它的阶为ord,那么:a,a^2,a^3,...,a^ord对m取模的值各不相同。 定理1:对于整数a
2013-10-03 15:19:18 978
原创 URAL 1204 中国剩余定理
题意:给出一个n n为两个素数的乘积,让求满足方程 x*x=x ( mod n ) 且x给上面等式变形有x*(x-1)=0 ( mod p*q ) 则有 x = 0 ( mod p) x = 1 ( mod q ) 或者 x = 1( mod p) x = 0 ( mod q ),由于p,q,互素,所以可以用中国剩余定理求出最小的正整数解。 #include #include#in
2013-10-03 10:29:03 1254
原创 URAL 1141 计算模n的e次根
给出 n=p*q p,q为素数 gcd(e, (p-1)*(q-1)) = 1, e me = c (mod n)。摘自《数论概论》#include #include#include#include#include#include#includeusing namespace std;#define maxn 32050typedef long l
2013-10-02 15:58:33 1061
原创 URAL 1132 二次剩余
1132. Square RootTime limit: 1.0 secondMemory limit: 64 MBThe number x is called a square root of a modulo n (root(a,n)) if x*x = a (mod n). Write the program to find the square root o
2013-10-02 11:51:24 901
原创 URAL 1133 二分
给出广义斐波那契数列的任意两项,让求这个斐波那契数列的其他项。这题解方程的话精度不够所以二分求出f[a+1]这一项的值。二分的时候如果超范围直接跳出。再通过f[a]与f[a+1]求出任意一项。写得好挫啊。#include #include#include#includeusing namespace std;int judge(long long x,long long a,
2013-10-01 16:45:46 841
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人