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

(1)Robotic Sort(HDU1890ZJU2985
本題主要考察的是對(duì)此類問題,序列中給定值的索引問題。
當(dāng)Splay Tree用來(lái)處理一個(gè)序列的時(shí)候,其關(guān)鍵字就是序列中元素的下標(biāo),而不是元素的值。這樣,如果要查找序列中給定的值的位置(假設(shè)序列中任意兩個(gè)元素的值不相等)看起來(lái)就無(wú)法實(shí)現(xiàn)。其實(shí)也是有辦法實(shí)現(xiàn)的:因?yàn)樵卦跇渲械?span style="color: red">下標(biāo)是永遠(yuǎn)不變的!也就是,設(shè)這個(gè)序列為A,如果A[i]在插入Splay Tree時(shí)的下標(biāo)為j,那么在A[i]被刪除之前,其下標(biāo)一直是j,永遠(yuǎn)不會(huì)變(注意元素在序列中的下標(biāo)和在樹中的下標(biāo)是不同的)。利用這一性質(zhì)可以解決給定值的索引問題。
對(duì)于本題,每次將從序列中第i小的元素到序列中第i個(gè)元素(這里假定元素下標(biāo)是從1開始的,而不是從0開始)之間的所有元素反轉(zhuǎn),并輸出第i小的元素在反轉(zhuǎn)之前的在序列中的下標(biāo)。設(shè)B[i]為第i小的數(shù)的初始位置,S[i]為初始位置在第i位的元素的下標(biāo),B[i]和S[i]都可以通過預(yù)處理得到。然后,每次交換前,求出S[B[i]]在樹中的排名(基本操作),再減1(因?yàn)橛羞吔缃Y(jié)點(diǎn))就是該元素目前的位置,而序列中第i個(gè)元素就是樹中第(i+1)小的元素,再執(zhí)行交換即可。
不過需要千萬(wàn)注意的是本題的標(biāo)記問題,在求S[B[i]]在樹中的排名時(shí),有可能其祖先結(jié)點(diǎn)上有標(biāo)記,需要先遍歷其所有的祖先結(jié)點(diǎn),再逆向下放標(biāo)記(標(biāo)記只能自頂向下傳)。另外在交換的時(shí)候需要求出S[B[i]]的后繼,在求后繼的過程中需要查找,此時(shí)千萬(wàn)別忘了下放標(biāo)記(總的說(shuō),凡是有查找的地方,就有dm)
代碼(本沙茶太弱了,是抄別人的,因此其算法和上面總結(jié)的可能有差別,神犇不要鄙視)

(2)SuperMemo(PKU3580
本題的6個(gè)操作中,add、reverse、insert、delete、min都不難搞,而revolve操作需要涉及到區(qū)間交換。
可以發(fā)現(xiàn),所謂的旋轉(zhuǎn)其實(shí)就是交換兩個(gè)相鄰區(qū)間,這對(duì)于功能極強(qiáng)的Splay Tree來(lái)說(shuō)根本不難搞。
設(shè)這兩個(gè)相鄰區(qū)間為[x, y]與[y+1, z],假設(shè)它們均非空(也就是x<=y<z,因?yàn)槿羝渲兄辽儆幸粋€(gè)區(qū)間是空區(qū)間,則交換沒有意義),先找到樹中x的前趨P與z的后繼S(這里x、z等指的都是對(duì)應(yīng)的結(jié)點(diǎn),下同),將P伸展到根、將S伸展到根的右子結(jié)點(diǎn)處,則S的左子樹就表示區(qū)間[x, z]。然后,設(shè)S的左子樹的根結(jié)點(diǎn)(也就是S的左子結(jié)點(diǎn))為N,在這棵子樹中找到第1小的結(jié)點(diǎn)P0與第(y-x+2)小的結(jié)點(diǎn)S0(這需要涉及到找子樹內(nèi)第K小的操作,只要把找整棵樹第K小的操作的root改為N即可),它們分別表示x與(y+1),這樣將P0伸展到N處,將S0伸展到N的右子結(jié)點(diǎn)處,顯然P0無(wú)左子樹,S0的左子樹T1表示區(qū)間[x+1, y],S0的右子樹T2表示區(qū)間[y+2, z]。然后,先將S0從P0的右子結(jié)點(diǎn)移動(dòng)到P0的左子結(jié)點(diǎn),再將T1作為P0的右子樹(注意移動(dòng)是兩步:插入和刪除)。這樣整棵子樹的中序遍歷結(jié)果變成了S0->T2->P0->T1,也就是[y+1, z]∪[x, y]。
另外本題的標(biāo)記有點(diǎn)難搞,只需注意rev是逆向標(biāo)記,以及查找與dm共存就行了。
代碼
(3)Play with Chain(HDU3487)
這個(gè)米有神馬好說(shuō)的,里面的操作在SuperMemo里都有;
代碼
(4)AHOI2006 文本編輯器(editor)
這題在這一類題里面算水的。對(duì)于光標(biāo),只要用一個(gè)值來(lái)維護(hù)就行了。
另外注意本題極為猥瑣的2點(diǎn)(題目中米有說(shuō)明):一是最初的文本并不是空的,而是有一個(gè)空格;二是執(zhí)行GET操作時(shí)光標(biāo)可能位于文本末尾,此時(shí)應(yīng)輸出空格;
代碼
(5)HFTSC2011 高精度計(jì)算器(apc),題目見這個(gè)帖子
這題反映出了一個(gè)很囧的問題:有些信息會(huì)被rev整體破壞。
本題中的操作都是常見操作,但是本題所需要維護(hù)的信息卻不是那么容易維護(hù)。本題要求維護(hù)一棵子樹中所有結(jié)點(diǎn)所表示的元素序列(中序遍歷結(jié)果)模一個(gè)指定的M的值。設(shè)F[i]為R^i mod M的值(這里R是進(jìn)制,也就是題目中的K),則有:
T[x].mod = (T[T[x].c[0]].mod * F[T[T[x].c[1]].sz + 1] + T[x].v * F[T[T[x].c[1]].sz] + T[T[x].c[1]].mod) % M;
這個(gè)式子其實(shí)是很好理解的。
關(guān)鍵是,本題的猥瑣之處并不在此。注意本題的rev操作,它會(huì)整體改變樹中所有結(jié)點(diǎn)所記錄的mod值,這時(shí),如果再用上面這個(gè)式子來(lái)維護(hù)T[x].mod,就會(huì)出錯(cuò),因?yàn)榇藭r(shí)引用到的T[T[x].c[0]].mod和T[T[x].c[1]].mod都是過時(shí)的。解決這一問題只有一種方法:記錄“逆mod”(rmod),意思是將整個(gè)元素序列反轉(zhuǎn)后的mod,即:
T[x].rmod = (T[T[x].c[1]].rmod * F[T[T[x].c[0]].sz + 1] + T[x].v * F[T[T[x].c[0]].sz] + T[T[x].c[0]].rmod) % M;
這樣,在反轉(zhuǎn)某序列的時(shí)候,直接將根結(jié)點(diǎn)的mod值和rmod值交換就行了。
像mod這樣會(huì)被反轉(zhuǎn)操作整體破壞的信息還有很多,比如NOI2005 sequence里面的lmax和rmax。如果真的遇到這類信息,只有采用上面的方法。
另外,本題第6、9、10個(gè)點(diǎn)有誤。
代碼

現(xiàn)在Splay Tree差不多弄完了,接下來(lái)還有N多知名的、不知名的高級(jí)數(shù)據(jù)結(jié)構(gòu)……時(shí)間MS有些不夠用了囧……

Feedback

# re: Splay Tree處理區(qū)間問題的幾道好題及總結(jié)[未登錄]  回復(fù)  更多評(píng)論   

2011-06-26 20:36 by xiaodao
樓主用Splay可以去修 link-cut Tree 撒。。

# re: Splay Tree處理區(qū)間問題的幾道好題及總結(jié)  回復(fù)  更多評(píng)論   

2012-03-08 02:46 by boboaaa12345
LZ的(4)AHOI2006 文本編輯器(editor)
貌似WA了啊。。。求解釋。。。
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美高清视频在线播放| 欧美成人午夜激情在线| 麻豆精品视频| 久久综合狠狠综合久久综青草| 午夜精品在线视频| 亚洲欧洲99久久| 久久久久九九九九| 欧美第一黄网免费网站| 亚洲精品韩国| 亚洲免费福利视频| 中文一区二区| 久久久国产精彩视频美女艺术照福利| 久久久久久噜噜噜久久久精品| 久久久综合视频| 欧美日韩一区综合| 国产综合婷婷| 亚洲乱码久久| 欧美在线日韩在线| 欧美福利一区二区| 亚洲在线1234| 欧美va天堂va视频va在线| 欧美日本精品一区二区三区| 国产精品每日更新| 亚洲国产精品激情在线观看| 一区二区激情| 久久手机精品视频| 在线午夜精品| 美女久久网站| 国产精品v欧美精品v日韩精品| 国产主播一区二区三区| 日韩视频不卡| 免播放器亚洲一区| 日韩一级网站| 欧美激情国产日韩精品一区18| 欧美日韩一二三区| 在线观看日韩精品| 午夜精品亚洲| 亚洲风情在线资源站| 欧美在线视频一区| 老司机午夜免费精品视频| 国产精品日韩欧美一区二区| 精品成人国产| 久久成人一区| 夜夜爽www精品| 欧美成人综合网站| 在线看日韩av| 久久精视频免费在线久久完整在线看| 亚洲人成小说网站色在线| 久久久久中文| 韩国在线一区| 午夜精品久久久久久| 亚洲精品久久嫩草网站秘色| 老牛影视一区二区三区| 激情文学综合丁香| 久久久久久综合网天天| 亚洲欧美精品| 国产欧美日韩在线观看| 亚洲欧美视频在线观看视频| 99精品国产在热久久下载| 久色婷婷小香蕉久久| 伊人久久噜噜噜躁狠狠躁| 久久五月婷婷丁香社区| 久久精品人人做人人爽电影蜜月| 国产精品久久77777| 午夜精品福利一区二区蜜股av| 亚洲伦理精品| 欧美性色aⅴ视频一区日韩精品| 亚洲九九爱视频| 亚洲精品色婷婷福利天堂| 欧美xx视频| 在线日韩日本国产亚洲| 免费在线观看日韩欧美| 免费日韩av| 在线视频中文亚洲| 亚洲图片你懂的| 国产欧美另类| 美女诱惑黄网站一区| 麻豆精品视频在线| 在线午夜精品| 香蕉乱码成人久久天堂爱免费| 国产精品视频午夜| 蜜桃久久av一区| 欧美女同视频| 久久国产主播| 欧美精品999| 欧美一区日本一区韩国一区| 久久精品国产亚洲精品| 亚洲日本视频| 亚洲一区二区3| 狠狠色综合色区| 亚洲福利视频网站| 欧美日韩一区在线观看视频| 欧美伊人影院| 欧美激情偷拍| 久久激情视频| 欧美人与性动交α欧美精品济南到| 亚洲免费在线视频| 免费成人在线观看视频| 亚洲欧美日韩一区二区三区在线| 久久国产精品一区二区三区四区| 亚洲毛片视频| 久久综合色婷婷| 亚洲全部视频| 国产综合在线视频| 亚洲伦理在线| 激情亚洲成人| 一区二区三区色| 亚洲国产成人tv| 午夜精品av| 亚洲乱码视频| 久久免费黄色| 99v久久综合狠狠综合久久| 亚洲欧美在线一区| 一区二区冒白浆视频| 久久久久91| 欧美一区二区三区电影在线观看| 麻豆视频一区二区| 久久激情综合| 久久久久久网站| 久久激情网站| 国产精品综合久久久| 亚洲精品黄网在线观看| 亚洲高清自拍| 久久理论片午夜琪琪电影网| 小辣椒精品导航| 国产精品盗摄久久久| 亚洲国产成人在线| 黄网站免费久久| 午夜视频一区二区| 亚洲综合电影| 欧美午夜精品久久久久久浪潮| 亚洲风情在线资源站| 亚洲国产三级在线| 久久亚洲私人国产精品va媚药| 久久噜噜亚洲综合| 国产三区精品| 久久精品99国产精品| 久久久999成人| 国产午夜久久| 久久精品中文| 欧美成人精品一区二区| 亚洲电影成人| 欧美va天堂va视频va在线| 欧美黄色免费网站| 亚洲毛片av| 国产精品久久久亚洲一区| 一本久道久久久| 欧美一区二区精品在线| 国产一区二区精品| 久久亚洲精品中文字幕冲田杏梨| 欧美国产日韩一区二区在线观看| 亚洲人成毛片在线播放| 欧美精品自拍| 亚洲一区亚洲二区| 久久精品视频亚洲| 亚洲成色www8888| 欧美久久久久久| 亚洲欧美www| 欧美v日韩v国产v| 一区二区三区久久精品| 国产精品日韩欧美| 久久亚洲高清| 亚洲天堂第二页| 美腿丝袜亚洲色图| 夜夜爽www精品| 国产日韩欧美一区二区三区在线观看 | 久久综合影视| 日韩视频免费大全中文字幕| 亚洲美女一区| 久久久久久久综合日本| 亚洲国产高清一区二区三区| 欧美精品v日韩精品v国产精品| 中文国产亚洲喷潮| 噜噜噜91成人网| 中文高清一区| 在线免费精品视频| 国产精品高潮呻吟久久av无限 | 欧美色视频一区| 久久精品天堂| 一区二区三区四区五区在线 | 开心色5月久久精品| 日韩一区二区福利| 国内伊人久久久久久网站视频| 欧美激情麻豆| 久久激情视频| 在线午夜精品自拍| 久久综合久久综合久久综合| 亚洲一级在线观看| 亚洲电影免费| 国产欧美韩日| 欧美三级中文字幕在线观看| 免费h精品视频在线播放| 欧美一区二区三区精品| 亚洲免费av片| 亚洲国产精品久久人人爱蜜臀| 久久国产视频网站| 亚洲欧美国产另类| 亚洲一二三区在线观看| 亚洲精品国产拍免费91在线| 国产亚洲欧美一区二区|