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

Uriel's Corner

Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
posts - 0, comments - 50, trackbacks - 0, articles - 594

    5.15 2011復旦ACM省賽, 悲劇, 第5個銅... 繼續全銅悲劇... 膜拜jjllqq學長, 全銅后最后銀獎結束ACM生涯... ...

    正式賽, 照舊我從前看, MEC從中間看, 光光先建工程然后從中間開始。發現A理解不能, 就先看了B, 發現G快被板刷了, 于是去看, 17min 1A。然后繼續看完C。光光開始敲J, 說是DP, 敲完后說沒有想清楚, 坐一邊接著想去了。發現A有幾個隊出了, 硬著頭皮努力理解。還是有點不確定, 就和MEC討論了一下, 終于理解了, 由于一貫對數學題很恐懼, 就交給MEC推公式了。E有人出了, 就看E去了。光光說J(DP)那題不太靠譜, 先想D(字符串)去。跟我說了下大概思路, 后綴數組, 想了一下, 比較靠譜。當了下碼工, 幫光光敲了后綴數組模板, 然后聽MEC說A的思路。光光的D題WA了, 查了幾遍沒有發現問題, 寫了個暴力程序對拍, 發現是我模板有個變量敲錯了..- -||..改了后TLE了...于是我先JAVA敲A, 敲完想著會不會TLE, 于是想打表, 糾結了一會寫了打表要用的一段代碼后發現500個答案秒出, 于是擦掉了打表部分, 直接交了, 171min 1A。光光繼續改D, 終于199min 5A。然后決定去敲B, 跟MEC討論了下之后決定先讀入, 建BST樹, 然后按從小到大排序后可得到每個結點距離最左邊的位置(即為該結點排序后在結點中的位置)。然后BFS這棵樹, 一層一層輸出, 大概4h20min的時候出了sample, 結果WA。各種測數據沒有發現問題, 最后10min的時候跟光光說了B, 光光出的case沒有過。但是單case的話可以過, 于是懷疑是初始化問題。各種初始化之后依然沒有過那個sample, 一直糾結到比賽結束... ...
    組隊賽依然很不給力, 我的問題是雖然敲模板速度還過得去, 但是比較密的代碼很有可能敲錯, 數學題, DP都過分依賴隊友, JAVA還不是特別熟練...etc
    不甘心, 只好用光光的U盤拷了代碼回來繼續看。發現BFS那里l==r的時候會有下標越界的問題, 只要加一句話判一下就行, 晚上終于在UVA上A掉了。

丑陋的代碼見下

/*
 2011 ACM-ICPC Shanghai Invitational B Boring Homework

 -------Classify: BST & 模擬
 ----Description: 輸出一棵BST樹(按輸入建樹), 結點數<80
 ---Sample Input:

 3----------------//3 cases
 3 3 1 2----------//n nodes, value of each node
 6 4 5 6 1 3 2
 5 3 4 5 2 1

 --Sample Output:

 Case #1:
 +-o
 |
 o+
 |
 o
 Case #2:
 +--o+
 |   |
 o-+ o+
 |  |
 +o  o
 |
 o
 Case #3:
 +o+
 | |
 +o o+
 |   |
 o   o

 -----Time Limit: 1000Ms
 ---------Source: 2011 ACM-ICPC Shanghai Invitational B
 -------Solution: 建一棵BST樹, 再BFS一層一層輸出該樹
 ---------Status: AC C++ 
 -----------Date: 2011.05.15
 ------Reference: NULL
 -----------Code: 
 
*/


#include
<stdio.h>
#include
<stdlib.h>
#include
<string.h>
#include
<algorithm>
using namespace std;
#define N 1000

struct node {
    
int f, l, r, idx, pos;
}
 t[N];

struct M {
    
int id, a, pos;
}
 p[N];

int n, nt, q[N * 2][2];
bool flg[N];

bool cmp(M a, M b) {
    
return a.a < b.a;
}


void insert(int idx, int rt) {
    
if (idx < t[rt].idx) {
        
if (~t[rt].l)
            insert(idx, t[rt].l);
        
else {
            t[rt].l 
= nt;
            t[nt].f 
= rt;
            t[nt].idx 
= idx;
            t[nt].l 
= t[nt].r = -1;
            
++nt;
            
return;
        }

    }
 else {
        
if (~t[rt].r)
            insert(idx, t[rt].r);
        
else {
            t[rt].r 
= nt;
            t[nt].f 
= rt;
            t[nt].idx 
= idx;
            t[nt].l 
= t[nt].r = -1;
            
++nt;
            
return;
        }

    }

}


void BFS() {
    
int i, l = 0, r = 1, cen;
    
char mp[2000], sk[2000];
    q[
0][0= 0;
    q[
0][1= 0;
    i 
= 0;
    memset(mp, 
0x00sizeof(mp));
    memset(sk, 
0x00sizeof(sk));
    
if (~t[0].l) {
        q[r][
1= 1;
        q[r
++][0= t[0].l;
        
for (; i < t[t[0].l].pos; ++i)
            mp[i] 
= ' ';
        mp[i
++= '+';
        
for (; i < t[0].pos; ++i)
            mp[i] 
= '-';
    }

    mp[i
++= 'o';
    
if (~t[0].r) {
        q[r][
1= 1;
        q[r
++][0= t[0].r;
        
for (; i < t[t[0].r].pos; ++i)
            mp[i] 
= '-';
        mp[i
++= '+';
    }

    
++l;
    
//printf("l=%d r=%d\n",l,r);
    puts(mp);
    cen 
= 1;
    
while (l < r) {
        memset(mp, 
0x00sizeof(mp));
        memset(sk, 
0x00sizeof(sk));
        i 
= 0;
        
while (q[l][1== cen) {
            
//printf("l=%d r=%d\n", l, r);
            if (l == r)  //沒有這句導致比賽時WA到死... ...
                
break;
            
if (t[q[l][0]].l >= 0{
                
//printf("q=%d qq=%d\n",q[l][0],t[q[l][0]].l);
                q[r][1= cen + 1;
                
//printf("q=%d qq=%d\n",q[l][0],t[q[l][0]].l);
                q[r++][0= t[q[l][0]].l;
                
//printf("l=%d r=%d\n",l,r);
                
//printf("q=%d qq=%d\n",q[l][0],t[q[l][0]].l);
                for (; i < t[t[q[l][0]].l].pos; ++i)
                    mp[i] 
= ' ';
                
//printf("q=%d qq=%d\n",q[l][0],t[q[l][0]].l);
                mp[i++= '+';
                
//printf("q=%d qq=%d\n",q[l][0], t[q[l][0]].l);
                for (; i < t[q[l][0]].pos; ++i)
                    mp[i] 
= '-';
            }

            i 
= t[q[l][0]].pos;
            sk[i] 
= '|';
            mp[i
++= 'o';
            
if (~t[q[l][0]].r) {
                
//if(q[l][0]==6) puts("*****");
                q[r][1= cen + 1;
                q[r
++][0= t[q[l][0]].r;
                
for (; i < t[t[q[l][0]].r].pos; ++i)
                    mp[i] 
= '-';
                mp[i
++= '+';
            }

            
++l;
        }

        
++cen;
        
for (i = n;; --i) {
            
if (mp[i] > 0)
                
break;
        }

        
for (; i >= 0--i) {
            
if (!mp[i])
                mp[i] 
= ' ';
        }

        
for (i = n;; --i) {
            
if (sk[i] > 0)
                
break;
        }

        
for (; i >= 0--i) {
            
if (!sk[i])
                sk[i] 
= ' ';
        }

        puts(sk);
        puts(mp);
    }

}


int main() {
    
//freopen("d:\\in.txt","r",stdin);
    int cse, i, g = 1;
    scanf(
"%d"&cse);
    
while (cse--{
        scanf(
"%d"&n);
        nt 
= 0;
        
for (i = 0; i < n; ++i) {
            p[i].a 
= 0;
            p[i].id 
= 0;
            p[i].pos 
= 0;
            t[i].f 
= t[i].l = t[i].r = -1;
            t[i].pos 
= t[i].idx = 0;
        }

        
for (i = 0; i < n; ++i) {
            scanf(
"%d"&p[i].a);
            
if (!i) {
                t[
0].f = -1;
                t[
0].idx = p[0].a;
                t[
0].l = t[0].r = -1;
                nt
++;
            }
 else {
                insert(p[i].a, 
0);
            }

            p[i].id 
= i;
        }

        
//        for(i=0;i<n;++i) {
        
//            printf("idx=%d l=%d r=%d f=%d\n",t[i].idx,t[i].l,t[i].r,t[i].f);
        
//        }
        sort(p, p + n, cmp);
        
for (i = 0; i < n; ++i) {
            p[p[i].id].pos 
= i;
            t[p[i].id].pos 
= i;
        }

        printf(
"Case #%d:\n", g++);
        BFS();
    }

    
return 0;
}

真希望作為僵尸級選手還有機會參加今年的Regional, 告別下全銅的悲劇生涯... ... 不知道考研 or 保研能不能給力... ...

Feedback

# re: 2011.05.15 ACM Shanghai Invitational 小結 & B Boring Homework ---BST+模擬  回復  更多評論   

2011-05-16 12:19 by ZYY
碩強加油,期待你們在Regional上奪金~這次就當是攢RP吧~~~
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美国产精品一区| 亚洲国产一区二区a毛片| 国产亚洲精品久久飘花| 国产精品wwwwww| 国产精品久久福利| 国产精品福利片| 国产伦精品一区二区三区免费迷 | 99精品热视频| 亚洲特级毛片| 午夜影院日韩| 麻豆freexxxx性91精品| 欧美成人tv| 国产精品国产自产拍高清av| 国产美女精品视频| 精品二区视频| 99在线精品观看| 欧美在线亚洲在线| 亚洲成人在线视频播放 | 极品少妇一区二区| 亚洲国产天堂久久综合网| 日韩一区二区精品| 欧美一区二区视频在线| 美女福利精品视频| 亚洲精品一二三| 欧美一区二区三区在线观看视频| 老司机成人网| 国产精品男gay被猛男狂揉视频| 激情丁香综合| 午夜精品视频在线观看| 欧美电影在线| 亚洲中字在线| 欧美va亚洲va国产综合| 亚洲天堂男人| 欧美大尺度在线| 国产亚洲欧美激情| 一区二区欧美亚洲| 久久久综合网站| 99一区二区| 欧美国产一区二区| 狠狠干综合网| 欧美一区国产一区| 一本久久知道综合久久| 欧美www视频| 国产综合色产在线精品| 香港久久久电影| 99在线热播精品免费| 免费成人美女女| 在线欧美电影| 毛片基地黄久久久久久天堂| 午夜精品一区二区三区四区 | 欧美大色视频| 亚洲成人中文| 另类激情亚洲| 久久久久这里只有精品| 好看的av在线不卡观看| 欧美中文字幕在线视频| 性欧美videos另类喷潮| 国产精品你懂的| 亚洲欧美日韩国产中文| 亚洲午夜视频在线| 国产精品一区二区三区四区五区| 亚洲免费在线精品一区| 一区二区欧美亚洲| 欧美性大战久久久久| 亚洲欧美999| 亚洲影院高清在线| 国产精品久久久久999| 亚洲欧美中文日韩在线| 亚洲一区二区三区国产| 国产美女一区| 久久综合伊人77777麻豆| 久久久久久综合| 亚洲激情黄色| 亚洲日本欧美| 国产精品免费网站| 久久这里有精品15一区二区三区| 久久夜色精品国产噜噜av| 1024亚洲| 日韩午夜免费视频| 国产视频亚洲| 欧美激情一区二区三区四区| 欧美色区777第一页| 久久国产精品久久久久久久久久| 久久久久国色av免费观看性色| 亚洲精品美女久久久久| 亚洲一区网站| 亚洲国产成人久久| 99xxxx成人网| 欧美天堂亚洲电影院在线观看| 嫩草成人www欧美| 亚洲精品美女免费| 亚洲精品久久久久久一区二区| 欧美日韩免费观看一区| 久久精品视频在线看| 另类av一区二区| 亚洲欧美日本日韩| 久久精品成人一区二区三区| 99国产一区| 亚洲欧美自拍偷拍| 亚洲精品一区中文| 欧美一区二区免费| 99在线|亚洲一区二区| 久久国产婷婷国产香蕉| 一区二区三区国产精华| 久久九九99视频| 午夜精品久久久久久久白皮肤| 久久久午夜电影| 午夜精品久久久久久久男人的天堂| 久久久久久久久久久成人| 亚洲欧美在线看| 欧美日韩成人综合天天影院| 久久综合电影| 国产精品一区二区女厕厕| 亚洲精品乱码久久久久久蜜桃91| 一区二区三区在线不卡| 亚洲影院高清在线| 亚洲在线电影| 欧美日韩一区高清| 亚洲人成网站精品片在线观看| 国外成人性视频| 亚洲综合电影| 午夜精品免费视频| 国产精品久久激情| 一区二区三区高清在线| 99精品久久免费看蜜臀剧情介绍| 久久视频精品在线| 老妇喷水一区二区三区| 国产婷婷色综合av蜜臀av| 亚洲天堂视频在线观看| 宅男噜噜噜66国产日韩在线观看| 欧美本精品男人aⅴ天堂| 免费成人在线视频网站| 国产专区欧美精品| 久久成人免费网| 久久综合给合| 在线观看日韩专区| 卡一卡二国产精品| 欧美福利网址| 91久久综合亚洲鲁鲁五月天| 久久久久九九九九| 免费人成网站在线观看欧美高清| 激情久久一区| 欧美成年人网站| 亚洲精品免费在线| 亚洲天堂av高清| 国产精品免费福利| 久久激情五月激情| 亚洲国产精品福利| 99riav国产精品| 欧美午夜精品久久久久久人妖| 一区二区成人精品| 欧美一区二区精品| 国内成人在线| 免费观看日韩av| 亚洲精品资源| 亚洲第一精品在线| 性做久久久久久久免费看| 欧美电影在线| 亚洲精品一二| 久久精品99无色码中文字幕| 韩日精品视频一区| 免费日韩av片| 99视频一区二区三区| 久久本道综合色狠狠五月| 一区二区视频免费完整版观看| 免费一级欧美片在线播放| 亚洲最新视频在线播放| 欧美在线一二三| 亚洲精品欧美一区二区三区| 国产精品igao视频网网址不卡日韩| 午夜一区二区三视频在线观看| 欧美激情欧美激情在线五月| 亚洲在线日韩| 亚洲国产婷婷| 国产欧美一区二区精品婷婷| 蜜臀av性久久久久蜜臀aⅴ| 亚洲男女自偷自拍| 亚洲精品综合| 久久综合伊人77777| 亚洲男女自偷自拍| 亚洲国产精品va在线看黑人| 国产精品日韩专区| 欧美国产在线电影| 久久久久久九九九九| 亚洲愉拍自拍另类高清精品| 欧美激情第三页| 久久久精品国产免大香伊| 99国产精品国产精品毛片| 黄色成人在线观看| 国产精品久久久久毛片大屁完整版 | 久久伊人一区二区| 亚洲特级毛片| 亚洲日本乱码在线观看| 久久综合久色欧美综合狠狠| 亚洲女人av| 亚洲一区二区欧美| 99ri日韩精品视频| 亚洲精选在线| 亚洲国产另类 国产精品国产免费| 国产午夜精品在线观看|