ACM
fangxubz
这个作者很懒,什么都没留下…
展开
-
小红书上两种素数打表时间对比O(n*log(n)) O(n)
#include#include#define maxn 1000000000+10bool valid[maxn];bool ans[maxn];void isprime(int n, int &tot){ tot = 0; int i, j; for(i = 2; i valid[i] = true;原创 2014-05-14 20:44:07 · 916 阅读 · 0 评论 -
欧拉函数备忘
1 利用欧拉函数打表#include#define maxn 1000000+1int minDiv[maxn], phi[maxn];void getPhi(){ for(int i = 1; i < maxn; i++) { minDiv[i] = i; } for(int i = 2; i*i < maxn; i++)原创 2015-06-07 01:02:00 · 373 阅读 · 0 评论 -
求两个分数的最小公倍数
#includelong long gcd(long long a, long long b){ return a % b == 0? b:gcd(b, a%b);}void remove(long long &a, long long &b){ long long tmp = a > b?gcd(a, b):gcd(b, a); a = a/tmp;原创 2015-06-07 13:36:53 · 1119 阅读 · 0 评论 -
美素数备忘
#include#include#define maxn 1000000+1int prime[maxn];int count[maxn];bool is_beauty_prime(int n);int tot = 0;void getPrime(){ int i, j; int tmp = int((double)sqrt(maxn) + 1); for原创 2015-06-07 16:11:39 · 408 阅读 · 0 评论 -
循环小数->分数备忘
虽然比较简单,但是代码比我的优美多了,果断转#include using namespace std;int f(int u,int v){ while(u%v) { int w=u%v; u=v; v=w; } return v;}int main(){ int t; while(cin>>t)转载 2015-06-07 16:23:47 · 384 阅读 · 0 评论 -
sort对二维数组进行排序备忘
#include #include#include #include using namespace std;bool cmp(int *p,int *q){ if(p[1]==q[1]) { return p[0]<q[0]; } else return p[1]<q[1];}int main(){ int i;原创 2015-06-07 20:14:44 · 957 阅读 · 0 评论 -
分治法求最大子数组备忘
#include#include#includeusing namespace std;#define maxn 100000+1#define min -2147483647int map[maxn];int *find_cross(int low, int mid, int high){ int max_left = min; int left_num;原创 2015-06-09 17:30:59 · 457 阅读 · 0 评论 -
汉诺塔分治演示备忘
#includeint aa[64], bb[64], cc[64];int sum;void OutPut();void Init(int n){ for(int i = 0; i <= n; i++) { bb[i] = 0; cc[i] = 0; } aa[0] = n; int j = 1; for原创 2015-06-10 00:56:42 · 441 阅读 · 0 评论