模板库(杂)

来源:互联网 发布:js 视频播放插件 编辑:程序博客网 时间:2024/06/05 17:24

快速排序

#include<cstdio>const int N = 1e5 + 5;int a[N], n;void swap(int &a, int &b) {int t = a; a = b; b = t;}void quick_sort(int l, int r) {    int i = l, j = r, mid = (l+r)>>1;    do {        while(a[i] < a[mid]) ++i;        while(a[j] > a[mid]) --j;        if(i <= j) {            swap(a[i], a[j]);            ++i; --j;        }    } while(i <= j);    if(l < j) quick_sort(l, j);    if(i < r) quick_sort(i, r);}int main() {    scanf("%d", &n);    for(int i = 1; i <= n; ++i) scanf("%d", &a[i]);    quick_sort(1, n);    for(int i = 1; i <= n; ++i) printf("%d ", a[i]);    return 0;}

LCS(nlogn)

#include<cstdio>#include<algorithm>using namespace std;const int N = 1e6 + 10;const int inf = 0x6fffffff;int n, s[N], t[N], x, top, dp[N];int main() {    scanf("%d", &n);    for(int i = 1; i <= n; ++i) {        scanf("%d", &x);        s[x] = i;    }    for(int i = 1; i <= n; ++i) {        scanf("%d", &x);        if(s[x]) t[top++] = s[x];    }    for(int i = 0; i < top; ++i) dp[i] = inf;    for(int i = 0; i < top; ++i)        *lower_bound(dp, dp+top, t[i]) = t[i];    printf("%d\n", lower_bound(dp, dp+top, inf) - dp);    return 0;}

三分法(函数极值点)

#include<cstdio>#include<cmath>const double eps = 1e-6;const int N = 15;double l, r, mid, midmid, a[N];int n; double calc(double x) {    double ret = 0;    for(int i = n; i >= 0; --i) {        ret += pow(x, i)*a[i];    }    return ret;}int main() {    scanf("%d%lf%lf", &n, &l, &r);    for(int i = n; i >= 0; --i) {        scanf("%lf", &a[i]);    }    while(fabs(l-r) >= eps) {        mid = (l+r)/2;        midmid = (mid+r)/2;        if(calc(mid) > calc(midmid)) {            r = midmid;        } else l = mid;    }    printf("%.5lf\n", (double)round(l*1e5)/1e5);    return 0;}

对拍

#include<cstdio>#include<cstdlib>#include<cstring>int main() {    while(true) {        system("data.exe > in.txt");        system("std.exe < in.txt > out.txt");        system("brute.exe < in.txt > ans.txt");        if(system("fc out.txt ans.txt")) break;    }}
原创粉丝点击