青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

JulyRina's blog
welcome to July Rina's blog
posts - 22,comments - 1,trackbacks - 0
【練習】
2.3-2 MERGE的改進
void MERGE(int *A, int p,int q, int r) {
    int B[maxn] , i = p , j = q+1 , k = 0;
    while(k < r - p + 1) {
        if(i > q || j <= r && A[i] > A[j]) B[k++] = A[j++];
        else B[k++] = A[i++];
    }
    for(i=0;i<r-p+1;i++) A[p+i] = B[i];
}

2.3-5 二分查找的C++代碼
int find(int *a, int l, int r, int value) {
    if(l == r) return l;
    int mid = (l+r) >> 1;
    if(a[mid] >= value) return find(a, l, mid, value);
    else return find(a , mid+1, r , value);
}

*2.3-7 (這道題其實有O(n)的算法,而且寫起來更方便些)這里是O(nlogn)的算法
O(nlogn)算法思想:1.首先進行排序;2.然后枚舉每一個小于等于x/2的數S[i],二分查找對應的x-S[i]是否存在
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
const int maxn = 1010;
bool findx(int *S,int n, int x,int l,int r) {
    if(l > r) return false;
    if(l ==r) return S[l] == x;
    int mid = (l+r) >> 1;
    if(S[mid] >= x) return findx(S, n, x, l, mid);
    else return findx(S, n, x, mid+1, r);
}
bool check(int *S,int n,int x) {
    for(int i=0;S[i]<=x/2 && i < n;i++) {
        if(findx(S, n, x-S[i], i+1, n-1)) return true;
    }
    return false;
}
int main() {
    int S[1010] , x , n;
    while(~scanf("%d%d" , &n , &x)) {
        for(int i=0;i<n;i++) cin >> S[i];
        if(check(S, n, x)) puts("yes");
        else puts("no");
    }
    return 0;
}

O(n)的方法是在數的范圍不是特別大的時候(或者數的范圍比較大,此時采用hash的方法)標記的方法,這里假設數的范圍<=10000,并且假設數沒有重復的情況下,其他情況稍許改變一下就行:
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
const int maxn = 1010;

bool check(int *S,int n,int x) {
    bool vis[10001] = {0};
    for(int i=0;i<n;i++) vis[x-S[i]] = true;
    for(int i=0;i<n;i++) if(vis[S[i]]) return true;
    return false;
}
int n ,x , S[maxn];
int main() {
    while(~scanf("%d%d" , &n , &x)) {
        for(int i=0;i<n;i++) cin >> S[i];
        if(check(S, n, x)) puts("yes");
        else puts("no");
    }
    return 0;
}

2-4(逆序對):這道題就是在歸并排序中得到逆序對,具體見代碼:
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
const int maxn = 1010;
int ans;
void merge_sort(int *A, int l,int r) {
    if(l >= r) return;
    int mid = (l+r) >> 1;
    merge_sort(A, l, mid);
    merge_sort(A, mid+1, r);
    int i = l , j = mid+1 ,B[maxn] , k = l;
    while(i <= mid || j <= r) {
        if(i > mid || j <= r && A[j] < A[i]) B[k++] = A[j++] , ans += mid-i+1;
        else B[k++] = A[i++];
    }
    for(i=l;i<=r;i++) A[i] = B[i];
}
int main() {
    int A[maxn] , n;
    while(~scanf("%d" , &n)) {
        for(int i=0;i<n;i++) cin >> A[i];
        ans = 0;
        merge_sort(A, 0, n-1);
        cout << ans << endl;
        //for(int i=0;i<n;i++) cout << A[i] << " "; cout << endl;
    }
    return 0;
}
posted on 2015-03-07 15:19 JulyRina 閱讀(331) 評論(0)  編輯 收藏 引用 所屬分類: 算法專題
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            永久免费视频成人| 久久精品成人| 久久蜜桃精品| 欧美在线观看一区二区| 亚洲欧美中文另类| 久久精品国产免费观看| 久久先锋资源| 亚洲成色777777女色窝| 亚洲国产成人午夜在线一区 | 亚洲人成艺术| 亚洲毛片视频| 欧美一区二区免费观在线| 久久在线视频| 99精品久久| 久久久精品动漫| 欧美激情综合亚洲一二区 | 欧美成人精品在线播放| 欧美日韩国产精品一区| 亚洲夫妻自拍| 久久综合狠狠综合久久激情| 欧美1区2区视频| 欧美日韩国产精品一区二区亚洲| 国产精品盗摄一区二区三区| 国产综合久久| 亚洲欧美精品一区| 欧美高清视频免费观看| 亚洲午夜伦理| 欧美精品亚洲精品| 好看的亚洲午夜视频在线| 夜夜夜久久久| 久久亚洲欧美国产精品乐播| 99在线|亚洲一区二区| 久久女同互慰一区二区三区| 国产精品久久久久影院亚瑟 | 久久大综合网| 欧美日韩一区二区三区视频| 韩国女主播一区| 亚洲午夜免费视频| 国产精品日韩欧美大师| 亚洲第一中文字幕在线观看| 亚洲欧美日本伦理| 亚洲日本无吗高清不卡| 久久影院午夜片一区| 国产日韩欧美三区| 午夜亚洲激情| 亚洲午夜激情免费视频| 欧美美女bb生活片| 一本久久综合亚洲鲁鲁五月天| 另类天堂av| 欧美一区视频| 国产日韩精品在线| 欧美伊人久久久久久午夜久久久久 | 亚洲欧美日韩天堂| 99re66热这里只有精品3直播| 美女福利精品视频| 亚洲黄色一区| 亚洲第一色在线| 欧美va亚洲va日韩∨a综合色| 在线观看国产欧美| 欧美成人久久| 欧美国产日本| 亚洲美女在线国产| 亚洲国产日韩欧美| 欧美黄在线观看| 亚洲最黄网站| 日韩视频三区| 国产精品久久久久9999| 亚洲免费影视| 欧美一区二区三区成人| 国产一区二区三区丝袜 | 亚洲国产成人精品久久| 久久精品系列| 红桃视频成人| 亚洲国产成人av好男人在线观看| 欧美高清免费| 亚洲一二三级电影| 亚洲综合国产| 狠狠色狠色综合曰曰| 玖玖在线精品| 欧美区日韩区| 午夜久久99| 久久夜色精品亚洲噜噜国产mv| 亚洲精品1区| 亚洲一区二区三区欧美| 黑人巨大精品欧美一区二区小视频| 欧美国产高潮xxxx1819| 欧美色欧美亚洲另类二区| 欧美在线看片a免费观看| 美女诱惑一区| 先锋影音国产精品| 久久免费国产| 亚洲综合日韩| 麻豆九一精品爱看视频在线观看免费| 亚洲最快最全在线视频| 欧美伊人久久久久久午夜久久久久| 这里只有精品电影| 亚洲电影免费在线| 一区二区三区不卡视频在线观看| 国产日产精品一区二区三区四区的观看方式| 久久三级视频| 欧美喷潮久久久xxxxx| 久久久精品视频成人| 欧美成人国产一区二区| 午夜在线视频一区二区区别| 免费的成人av| 久久久国产午夜精品| 欧美国产大片| 久热国产精品| 国产手机视频一区二区| 亚洲美女淫视频| 尤物在线观看一区| 亚洲午夜一区| 亚洲一区欧美激情| 欧美xx视频| 欧美1区2区3区| 黄网动漫久久久| 香蕉国产精品偷在线观看不卡| 99在线精品免费视频九九视| 久久成人一区| 久久精品国产精品亚洲| 欧美性视频网站| 亚洲精品在线观看免费| 亚洲国产精品ⅴa在线观看 | 国产精品手机在线| 亚洲国产专区| 亚洲国产欧美另类丝袜| 久久成人精品视频| 欧美一区二区三区播放老司机| 欧美视频在线免费| 亚洲精品国产精品国自产观看浪潮| 亚洲国产欧美一区二区三区同亚洲 | 亚洲在线播放| 男人天堂欧美日韩| 免费看精品久久片| 国外成人在线| 久久久视频精品| 欧美不卡一区| 亚洲激情小视频| 欧美韩日视频| 日韩写真在线| 午夜精品免费在线| 国产欧美二区| 久久精品30| 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美精选一区| 亚洲美女av在线播放| 夜夜嗨一区二区| 欧美四级在线| 亚洲欧美日韩国产一区二区| 久久国产精品72免费观看| 国产亚洲精品久久飘花 | 亚洲一区国产| 久久视频在线免费观看| 亚洲国产精品久久| 欧美激情第3页| 一本色道久久综合精品竹菊 | 午夜精品久久久久久久蜜桃app | 中日韩午夜理伦电影免费| 欧美日韩三区| 亚洲欧美日韩国产精品| 久久一区二区三区四区| 亚洲青色在线| 国产精品乱子乱xxxx| 久久黄色级2电影| 亚洲人体大胆视频| 欧美一站二站| 亚洲精品视频二区| 国产精品丝袜久久久久久app | 久久久久久综合网天天| 亚洲激情一区| 欧美一区国产在线| 亚洲人成绝费网站色www| 国产亚洲人成a一在线v站| 久久天堂av综合合色| 艳女tv在线观看国产一区| 欧美一区二区三区日韩| 亚洲黄色尤物视频| 国产欧美一区二区精品忘忧草| 欧美大香线蕉线伊人久久国产精品| 亚洲乱码国产乱码精品精98午夜 | 欧美成人一区二区三区片免费| av成人天堂| 男男成人高潮片免费网站| 亚洲综合国产| 日韩视频永久免费观看| 国产一区日韩二区欧美三区| 欧美久久影院| 久久中文字幕一区二区三区| 在线视频欧美精品| 欧美国产精品人人做人人爱| 小辣椒精品导航| 一本久道久久综合中文字幕| 在线看一区二区| 亚洲欧美国产另类| 91久久线看在观草草青青| 久久在线免费| 久久久综合激的五月天| 午夜精品免费视频| 亚洲一区二区综合| 亚洲精品一区在线|