• <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>
            這一題題目有些長(zhǎng),不過(guò)這不影響它是一道水題。
            題意描述:
            題中描述了兩種情況,當(dāng)輸入數(shù)據(jù)以'P'開(kāi)頭時(shí),表示輸入的是1~N的一個(gè)排列,要求輸出每個(gè)數(shù)前面比該數(shù)大的數(shù)字的個(gè)數(shù),輸出結(jié)果時(shí)順序?yàn)閿?shù)字1的在前,數(shù)字N的在最后。第二種情況正好相反,給出每個(gè)數(shù)字前面比該數(shù)大的數(shù)字的個(gè)數(shù),要求輸出原序列。
            第一種情況好說(shuō),主要是第二種情況。情況二的解法是按從后往前順序確定原序列,即先確定數(shù)字N的位置,再確定數(shù)字N-1的位置……直到所有數(shù)字位置確定。期間主要是元素的插入操作。

            posted @ 2012-08-02 16:19 小鼠標(biāo) 閱讀(238) | 評(píng)論 (0)編輯 收藏
            二分查找,是一種針對(duì)有序序列的查找方式,每次迭代會(huì)縮小一半的查找范圍,一次查找的時(shí)間復(fù)雜度為O(logN)。
            簡(jiǎn)單說(shuō)一下二分查找過(guò)程:在有序序列seq[]中找一個(gè)數(shù)n,假設(shè)這個(gè)序列的起始下標(biāo)分別為a,b,mid=(a+b)/2,那么n要么就是seq[mid](n=seq[mid]),要么在mid左邊(n<seq[mid]),要么在mid右邊(n>seq[mid]),要么這個(gè)數(shù)根本不在seq[]中。

            下面這道題是二分查找的典型應(yīng)用:
            zoj1101
            題意描述:在給定整數(shù)序列(<=1000)中找出四個(gè)不同的數(shù),使得三個(gè)數(shù)的和等于另外一個(gè)數(shù)。
            直接用四層循環(huán)鐵定超時(shí),這里采用了一種拿空間換時(shí)間的方式。
            假設(shè)有a+b+d=c,這等價(jià)于a+b=c-d,我們可以把所有的a+b存起來(lái)(<=10^6個(gè)),把所有的c-d也存起來(lái)(<=10^6個(gè)),當(dāng)拿到每一個(gè)a+b時(shí)我們只需要在所有c-d的序列中查找就行了。先把c-d序列排序,排序時(shí)間復(fù)雜度O(NlogN),查找過(guò)程可以用二分,這樣就不會(huì)超時(shí)啦。
            以下是本題代碼:
            posted @ 2012-08-01 21:39 小鼠標(biāo) 閱讀(1069) | 評(píng)論 (0)編輯 收藏
            今天寫C代碼的時(shí)候用到了字符串結(jié)束標(biāo)記,猛然感覺(jué)有些陌生,索性復(fù)習(xí)一下C語(yǔ)言的轉(zhuǎn)義字符。
            轉(zhuǎn)義字符——當(dāng)然也是字符,引用的時(shí)候要加單引號(hào)。C語(yǔ)言中之說(shuō)以會(huì)出現(xiàn)轉(zhuǎn)義字符,無(wú)非處于以下幾個(gè)原因:
            1.有些字符是不可見(jiàn)的,無(wú)法通過(guò)鍵盤輸入(比如換行符、回車符、響鈴等)。
            2.有些字符已經(jīng)有特殊的用途,無(wú)法直接引用(比如:'\',單引號(hào)、雙引號(hào)等)。
            3.使用轉(zhuǎn)義字符能夠使意圖更清楚(比如字符串結(jié)束標(biāo)志,我們更傾向于寫成'\0',而不是直接賦0值)。
            下表列出了C語(yǔ)言中所有的轉(zhuǎn)義字符:
            轉(zhuǎn)義字符 意義 ASCII碼值(十進(jìn)制)
            \a 響鈴(BEL) 007
            \b 退格(BS) ,將當(dāng)前位置移到前一列 008
            \f 換頁(yè)(FF),將當(dāng)前位置移到下頁(yè)開(kāi)頭 012
            \n 換行(LF) ,將當(dāng)前位置移到下一行開(kāi)頭 010
            \r 回車(CR) ,將當(dāng)前位置移到本行開(kāi)頭 013
            \t 水平制表(HT) (跳到下一個(gè)TAB位置) 009
            \v 垂直制表(VT) 011
            \\ 代表一個(gè)反斜線字符''\' 092
            \' 代表一個(gè)單引號(hào)(撇號(hào))字符 039
            \" 代表一個(gè)雙引號(hào)字符 034
            \0 空字符(NULL) 000
            \ddd 1到3位八進(jìn)制數(shù)所代表的任意字符 三位八進(jìn)制
            \xhh 1到2位十六進(jìn)制所代表的任意字符 二位十六進(jìn)制
            posted @ 2012-07-31 23:09 小鼠標(biāo) 閱讀(1725) | 評(píng)論 (0)編輯 收藏
            線段樹(shù)題,本題對(duì)線段樹(shù)的操作有建樹(shù)(MakeTree())、查找(Query())、更新(update())。
            建樹(shù)一次完成,時(shí)間花費(fèi)為O(LogN);查詢的時(shí)間復(fù)雜度鄙人還不會(huì)分析O(∩_∩)O~,最壞可能是O(N),不過(guò)這種情況應(yīng)該很難出現(xiàn);更新的算法值得商榷,不同的策略時(shí)間復(fù)雜度會(huì)相差很大。下面講解兩種比較用以想到的更新策略。
            更新方法一:
            每次都將所有能更新的節(jié)點(diǎn)更新,這種方式最壞情況下將會(huì)更新樹(shù)中所有節(jié)點(diǎn),此時(shí)時(shí)間復(fù)雜度為O(N)。本題使用這種方法會(huì)TLE。
            更新方法二:
            每次都盡量少的更新節(jié)點(diǎn)信息,與第一種方法相比,Node內(nèi)會(huì)多一個(gè)變量en,我把它形象的稱之為“勢(shì)能”,計(jì)算結(jié)果時(shí)要將該的所有父節(jié)點(diǎn)的“勢(shì)能”也考慮在內(nèi)。這種方法的時(shí)間復(fù)雜度也不好分析,但明顯優(yōu)于第一種方法。
            這一題對(duì)時(shí)間卡的很緊,主要是花在樹(shù)的更新上。
            關(guān)于線段樹(shù)可以先參閱:http://m.shnenglu.com/hoolee/archive/2012/07/29/185531.html
            以下是本題代碼:

            posted @ 2012-07-31 20:40 小鼠標(biāo) 閱讀(3642) | 評(píng)論 (0)編輯 收藏
            即使是沒(méi)有算法的題,也應(yīng)該想清楚了再寫,特別是關(guān)于字符串處理的,細(xì)節(jié)很多,稍不注意就會(huì)發(fā)生錯(cuò)誤。
            下面這道題是經(jīng)典的“回文”題,要求輸出每句話中每個(gè)單詞的回文,但是單詞在句子中的位置不變。

            posted @ 2012-07-31 16:58 小鼠標(biāo) 閱讀(341) | 評(píng)論 (1)編輯 收藏

            徹底的水題,因?yàn)闆](méi)有說(shuō)數(shù)據(jù)量,我把數(shù)組開(kāi)小了,SF了四次,最后把數(shù)字串長(zhǎng)

            度開(kāi)到4000才過(guò),真是坑爹啊。


            posted @ 2012-07-31 16:15 小鼠標(biāo) 閱讀(178) | 評(píng)論 (0)編輯 收藏
                 摘要: 這是我寫的第一道線段樹(shù),思路還算清晰,不過(guò)之前走了不少?gòu)澛贰V饕e(cuò)在:誤以為線段樹(shù)是一棵滿二叉樹(shù),建樹(shù)時(shí)吃了苦頭。//線段樹(shù)除了最后一層可能不滿足滿二叉樹(shù)性質(zhì)外,上面的所有層構(gòu)成完全二叉樹(shù),因此仍然可以用滿二叉樹(shù)的性質(zhì):如果樹(shù)根節(jié)點(diǎn)從1開(kāi)始編號(hào),則對(duì)任意編號(hào)的節(jié)點(diǎn)t,左子樹(shù)編號(hào)為t*2,右子樹(shù)編號(hào)為t*2+1,父節(jié)點(diǎn)編號(hào)為t/2。這樣,建樹(shù)的時(shí)候節(jié)點(diǎn)內(nèi)就不用記錄兒子或父節(jié)點(diǎn)的信息了。下面結(jié)合poj...  閱讀全文
            posted @ 2012-07-29 10:44 小鼠標(biāo) 閱讀(1875) | 評(píng)論 (2)編輯 收藏
            科學(xué)家發(fā)明了一種新的生物,這種生物能夠兩兩合并,重量為m1的生物與重量為m2的生物合并后變?yōu)橐粋€(gè)生物,該生物的重量為2*sqrt(m1*m2)。求給定數(shù)量的生物合并成一個(gè)生物后的最小重量。
            貪心算法,每次選取重量最大的兩個(gè)生物合并成一個(gè)即可。下面的代碼是有優(yōu)先隊(duì)列(大頂堆)實(shí)現(xiàn)的。
            不過(guò),深入分析一下,由數(shù)學(xué)公式可以證明:m1+m2 >= 2*sqrt(m1*m2),因此當(dāng)兩個(gè)生物合并后,重量一定是剩余生物中最大的,由此只要將原重量按降序排序一次,然后依次合并即可。
            優(yōu)先隊(duì)列有些大材小用了。

            posted @ 2012-07-21 22:22 小鼠標(biāo) 閱讀(797) | 評(píng)論 (0)編輯 收藏
                 摘要: 優(yōu)先隊(duì)列,其實(shí)我一直不愿承認(rèn)“優(yōu)先隊(duì)列”是一種“隊(duì)列”,現(xiàn)實(shí)世界的隊(duì)列(比如排隊(duì))告訴我們,隊(duì)列最明顯的性質(zhì)就是先進(jìn)先出。而優(yōu)先隊(duì)列,似乎跟這個(gè)規(guī)則沒(méi)什么關(guān)系……  閱讀全文
            posted @ 2012-07-20 10:36 小鼠標(biāo) 閱讀(3309) | 評(píng)論 (0)編輯 收藏
                 摘要: 單調(diào)隊(duì)列,顧名思義就是具有單調(diào)性的隊(duì)列O(∩_∩)O~,一般的隊(duì)列只能從隊(duì)尾入隊(duì)、隊(duì)首出隊(duì);為了保持單調(diào)隊(duì)列的單調(diào)性,單調(diào)隊(duì)列除具有這兩種性質(zhì)外,還可以從隊(duì)尾出隊(duì)……  閱讀全文
            posted @ 2012-07-19 12:21 小鼠標(biāo) 閱讀(5497) | 評(píng)論 (0)編輯 收藏
            僅列出標(biāo)題
            共13頁(yè): First 5 6 7 8 9 10 11 12 13 
            <2012年3月>
            26272829123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            隨筆分類(111)

            隨筆檔案(127)

            friends

            最新評(píng)論

            閱讀排行榜

            久久久国产乱子伦精品作者| 久久亚洲AV成人无码| 精品综合久久久久久98| 久久国产午夜精品一区二区三区| 精品久久久无码人妻中文字幕豆芽| 亚洲欧美日韩中文久久| 久久久亚洲AV波多野结衣| 区久久AAA片69亚洲| 亚洲国产精品高清久久久| 一本色道久久88精品综合| 亚洲精品乱码久久久久久| 久久亚洲国产成人精品性色| 人妻少妇久久中文字幕| 久久se精品一区二区| 国产精品内射久久久久欢欢| 日本高清无卡码一区二区久久 | 久久精品免费一区二区| 久久国产亚洲精品麻豆| 国产精品一区二区久久| 国产精品热久久无码av| 色综合久久久久综合99| 久久婷婷五月综合97色直播 | 女人高潮久久久叫人喷水| 香蕉久久永久视频| 亚洲人成网亚洲欧洲无码久久| 久久久久亚洲av无码专区 | 精品伊人久久大线蕉色首页| 天天影视色香欲综合久久| 亚洲女久久久噜噜噜熟女| 久久精品国产亚洲一区二区| 欧美亚洲日本久久精品| 久久久久人妻一区二区三区vr| 99久久精品九九亚洲精品| 国产精品中文久久久久久久| jizzjizz国产精品久久| 久久人妻少妇嫩草AV无码蜜桃| 亚洲欧美日韩中文久久| 色8激情欧美成人久久综合电| 国产精品女同久久久久电影院| 欧美精品福利视频一区二区三区久久久精品 | 色播久久人人爽人人爽人人片AV|