ACM
fangxubz
这个作者很懒,什么都没留下…
展开
-
小红书上两种素数打表时间对比O(n*log(n)) O(n)
#include #include #define maxn 1000000000+10 bool 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 · 900 阅读 · 0 评论 -
欧拉函数备忘
1 利用欧拉函数打表 #include #define maxn 1000000+1 int 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 · 361 阅读 · 0 评论 -
求两个分数的最小公倍数
#include long 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 · 1089 阅读 · 0 评论 -
美素数备忘
#include #include #define maxn 1000000+1 int 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 · 396 阅读 · 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 · 368 阅读 · 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 · 936 阅读 · 0 评论 -
分治法求最大子数组备忘
#include #include #include using namespace std; #define maxn 100000+1 #define min -2147483647 int map[maxn]; int *find_cross(int low, int mid, int high) { int max_left = min; int left_num;原创 2015-06-09 17:30:59 · 437 阅读 · 0 评论 -
汉诺塔分治演示备忘
#include int 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 · 424 阅读 · 0 评论