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

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>
            亚洲精品国产精品国自产观看浪潮| 亚洲免费在线视频| 亚洲欧美日韩网| 久久精品国语| 一本到高清视频免费精品| 亚洲在线观看免费| 国产精品久久久999| 久久久久九九视频| 久久精品一本久久99精品| 欧美在线国产| 国产精品一区二区久久久久| 久久精品国产69国产精品亚洲| 日韩视频免费在线| 国产精品激情| 亚洲欧美日韩国产综合在线| 欧美专区日韩视频| 国产精品视频最多的网站| 亚洲视频在线观看免费| 国产精品一区久久久久| 欧美一区二区视频97| 中文日韩在线视频| 国产女优一区| 久久夜色精品国产| 欧美电影免费观看高清完整版| 亚洲午夜电影网| 麻豆精品视频| 亚洲一区二区三区欧美| 亚洲人成网站999久久久综合| 亚洲网站在线播放| 国产亚洲精品久久久久动| 欧美福利一区二区三区| 欧美在线一二三区| 夜色激情一区二区| 欧美激情中文不卡| 久久噜噜噜精品国产亚洲综合| 久久午夜视频| 久久久www| 免费久久精品视频| 亚洲精品国产精品国自产观看| 久久免费少妇高潮久久精品99| 欧美jizz19性欧美| 久久久999| 国产精品午夜在线| 久久五月激情| 亚洲高清视频中文字幕| 久久久www| 久久久国产91| 一区二区三区亚洲| 久久国内精品视频| 亚洲欧美三级伦理| 国产日韩欧美精品| 欧美一区二区成人| 亚洲欧美日韩网| 女人天堂亚洲aⅴ在线观看| 欧美午夜免费| 欧美成人中文字幕| 亚洲天堂av电影| 一区二区在线观看av| 亚洲尤物视频网| 老牛国产精品一区的观看方式| 国产精品午夜av在线| 欧美一区二区三区免费观看视频| 亚洲美女色禁图| 久久久天天操| 亚洲国产精品一区二区三区| 麻豆av一区二区三区久久| 韩国女主播一区| 国产精品99久久久久久久vr | 一区二区三区导航| 亚洲欧美日韩精品| 久久精品国产成人| 国产精品一区二区三区免费观看 | 亚洲成人资源网| 1024国产精品| 激情懂色av一区av二区av| 欧美精品久久久久久久久老牛影院 | 国产精品久久久久aaaa九色| 亚洲乱码日产精品bd| 欧美一区二区三区在线观看| 国产一区二区三区黄| 亚洲一区在线观看免费观看电影高清| 国产精品久久久久久影视| 欧美高清在线一区二区| 一区二区三区国产在线| 亚洲福利电影| 亚洲国产精品欧美一二99| 久久三级福利| 欧美在线亚洲综合一区| 在线看日韩av| 国产精品日韩欧美一区| 国产乱码精品一区二区三区不卡 | 欧美高清在线一区| 亚洲精品久久久久久久久久久久 | 久久九九久久九九| 亚洲网站在线观看| 香蕉尹人综合在线观看| 亚洲免费在线视频一区 二区| 欧美一区二区三区四区高清| 亚洲欧美成人一区二区三区| 亚洲一区网站| 久久综合图片| 亚洲精品视频在线观看免费| 亚洲区欧美区| 欧美制服第一页| 欧美精彩视频一区二区三区| 国产精品免费看片| 国产精品va在线| 国产视频欧美| 亚洲国产日韩欧美在线动漫| 一区二区久久| 牛人盗摄一区二区三区视频| 欧美成人精品在线| 亚洲欧美日韩精品久久久久| 激情欧美一区二区| 国产午夜精品理论片a级大结局| 伊人成人在线视频| 一区二区三区日韩欧美| 亚洲视频你懂的| 欧美一区在线直播| 亚洲国产精品成人综合| 亚洲综合色网站| 欧美色精品在线视频| 亚洲精品乱码久久久久久久久| 亚洲精选在线| 亚洲国产成人久久综合| 欧美一区二区私人影院日本 | 国产婷婷97碰碰久久人人蜜臀| 国产一区 二区 三区一级| 欧美日韩亚洲一区二区三区| 一区二区三区日韩| 亚洲欧洲日产国产综合网| 久久精品国产一区二区三区| 国产精品视频导航| 精品99一区二区| 亚洲二区视频| 欧美乱在线观看| 欧美中文字幕不卡| 久久国产精彩视频| 伊人一区二区三区久久精品| 久久精品午夜| 亚洲午夜影视影院在线观看| 欧美日韩伊人| 久久成人免费网| 免费看亚洲片| 这里只有精品视频在线| 中文一区二区在线观看| 欧美日韩在线不卡| 一区二区三区视频在线播放| 亚洲精品美女在线观看播放| 欧美精品国产| 久久久欧美一区二区| 亚洲国产二区| 久久久久久久久一区二区| 香蕉尹人综合在线观看| 欧美日韩精品免费观看视一区二区 | 亚洲欧洲日韩在线| 久久久久高清| 亚洲国产婷婷香蕉久久久久久| 久久精品国产99国产精品澳门| 香蕉精品999视频一区二区| 在线观看久久av| 亚洲久久一区二区| 国内精品亚洲| 一区二区三区不卡视频在线观看 | 狼狼综合久久久久综合网| 亚洲国产精品ⅴa在线观看| 最新国产精品拍自在线播放| 国产情人节一区| 一本一道久久综合狠狠老精东影业 | 能在线观看的日韩av| 欧美视频免费在线观看| 欧美一区二区三区免费视| 香蕉精品999视频一区二区| 亚洲欧美成人一区二区三区| 欧美日韩成人免费| 欧美国产精品久久| 国产日韩欧美日韩大片| 亚洲一区免费看| 欧美调教vk| 91久久精品国产| 野花国产精品入口| 欧美激情视频免费观看| 欧美激情精品久久久久久蜜臀| 在线观看欧美成人| 亚洲最新视频在线| 99精品久久免费看蜜臀剧情介绍| 另类国产ts人妖高潮视频| 欧美成人一区二区三区| 日韩视频一区| 欧美华人在线视频| 亚洲激情一区| 欧美巨乳波霸| 麻豆av一区二区三区| 亚洲一区二区三区四区五区午夜| 美日韩免费视频| 欧美日韩国产在线观看| 亚洲人成在线免费观看| 亚洲九九九在线观看| 国产一区二区三区在线观看免费| 欧美成人亚洲|