• <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>
                 摘要: 數(shù)組初始化的時(shí)候常用for()循環(huán),不過(guò)如果考慮效率的話,最好用memset(),下面簡(jiǎn)單介紹以下memset()。
            函數(shù)原型:
            void *memset(void *s, int ch, size_t n)
            函數(shù)解釋:將s中前n個(gè)字節(jié)替換為ch并返回s;
            ……
            sizeof是C/C++中的一個(gè)操作符(operator),而不是函數(shù)……  閱讀全文
            posted @ 2012-08-07 23:38 小鼠標(biāo) 閱讀(3189) | 評(píng)論 (2)編輯 收藏
            最小生成樹,Prim算法。
            具體可參閱:http://m.shnenglu.com/hoolee/archive/2012/08/06/186482.html
            代碼如下:

            posted @ 2012-08-07 11:23 小鼠標(biāo) 閱讀(129) | 評(píng)論 (0)編輯 收藏
            最小生成樹,Prim算法。
            具體可參閱:http://m.shnenglu.com/hoolee/archive/2012/08/06/186482.html
            代碼如下:

            posted @ 2012-08-07 10:47 小鼠標(biāo) 閱讀(119) | 評(píng)論 (0)編輯 收藏
            最小生成樹有兩個(gè)經(jīng)典算法:Prim算法和Kruskal算法,Prim適合于點(diǎn)較少的圖,對(duì)于一個(gè)節(jié)點(diǎn)數(shù)為N的連通圖來(lái)說(shuō),其時(shí)間復(fù)雜度為O(N^2);Kruskal適合于邊較少的圖,對(duì)一個(gè)邊為E的連通圖來(lái)說(shuō),其時(shí)間復(fù)雜度為O(ElogE),因此要根據(jù)不同情況選擇合適的算法。
            這里說(shuō)一下Prim算法。
            Prim的具體步驟為把所有點(diǎn)分為兩個(gè)部分:屬于集合S,或不屬于S,當(dāng)所有點(diǎn)都屬于S時(shí),算法結(jié)束。
            1.初始條件先將第一個(gè)點(diǎn)p0劃到S中,然后利用p0關(guān)聯(lián)的所有邊更新cost[](sost[i]表示pi與S中點(diǎn)相連的最短的那條邊長(zhǎng))
            2.每次從sost[]中選出最小的那一個(gè)cost[i](i不能屬于S),將i加入到S中,并利用與i相關(guān)的邊更新cost[](已加入到S中的點(diǎn)不用再更新)
            3.反復(fù)執(zhí)行第二步,直到圖連通。(我們知道一個(gè)有n個(gè)節(jié)點(diǎn)的圖,最少只需要n-1條邊就可以連通了,所以第二步會(huì)執(zhí)行n-1次,每次都會(huì)在圖中加入一條邊)
            關(guān)于Kruskal請(qǐng)參閱:http://m.shnenglu.com/hoolee/archive/2012/08/04/186253.html
            下面是zoj1203的Prim算法代碼:

            posted @ 2012-08-06 17:46 小鼠標(biāo) 閱讀(3139) | 評(píng)論 (0)編輯 收藏
            這是實(shí)驗(yàn)室集訓(xùn)開始第一次比賽的D題。
            題意描述:給你n張卡片,每張卡片正反面都有顏色(兩面的顏色可能相同,或不同),將這些卡片放在桌面上,每次操作你可以將一張卡片翻面。問(wèn)的是能否通過(guò)最少的翻面次數(shù)使得正面有一種顏色的數(shù)量>=卡片數(shù)的一半,并輸出翻面次數(shù)。
            解題的大致思路是,用A[]統(tǒng)計(jì)出所有可能出現(xiàn)的顏色以及該種顏色出現(xiàn)的總次數(shù),用B[]統(tǒng)計(jì)正面的顏色以及該種顏色出現(xiàn)的次數(shù)。如果A[]中有某種顏色出現(xiàn)的次數(shù)>=(n+1)/2,說(shuō)明通過(guò)若干次翻面操作我們是可以達(dá)到目的的,這時(shí)只需再參照B[],即可算出翻面次數(shù)。
            思路很清晰,可是有一些不得不注意的細(xì)節(jié)。
            1.當(dāng)卡片兩面的顏色相同時(shí),只能統(tǒng)計(jì)一次。
            2.數(shù)據(jù)量很大,查找時(shí)要用二分。
            3.如果一種顏色在只在反面出現(xiàn),B[]中是找不到它的。

            以下是本題代碼:
            posted @ 2012-08-06 15:16 小鼠標(biāo) 閱讀(360) | 評(píng)論 (0)編輯 收藏
            這里不再贅述了,關(guān)于最小生成樹Kruskal算法可以參閱:http://m.shnenglu.com/hoolee/archive/2012/08/04/186253.html
            以下是本題代碼:
            posted @ 2012-08-04 16:40 小鼠標(biāo) 閱讀(134) | 評(píng)論 (0)編輯 收藏
            這兩天在做最小生成樹,用的一直是Kruskal,不知道用Prim能把代碼寫的短點(diǎn)兒。。。
            這是有些被催的一題,題中兩個(gè)衛(wèi)星連接的點(diǎn)之間可以理解為沒(méi)有長(zhǎng)度,偶錯(cuò)誤的將衛(wèi)星個(gè)數(shù)S理解為沒(méi)有長(zhǎng)度的邊的個(gè)數(shù),忘記了它們之間是有1之差的。O_O
            關(guān)于Kruskal,可以先參閱:http://m.shnenglu.com/hoolee/archive/2012/08/04/186253.html
            以下是本題代碼:
            posted @ 2012-08-04 16:21 小鼠標(biāo) 閱讀(290) | 評(píng)論 (0)編輯 收藏
            最小生成樹有兩種算法:Prim和Kruskal,這里說(shuō)一下Kruskal算法。
            其具體算法描述為(我們假設(shè)給定的圖是連通的):
            1.初始化總花費(fèi)allcost=0
            2.將所有邊按邊長(zhǎng)len從小到大的順序排序
            3.從頭到尾依次遍歷個(gè)邊edge[i], 如果該邊關(guān)聯(lián)的兩個(gè)定點(diǎn)不屬于同一個(gè)集合,則將這兩個(gè)集合合并,并更新allcost。
            Kruskal算法牽涉到集合操作,包括集合的建立和集合的合并,這里用并查集解決,下面簡(jiǎn)單介紹以下并查集。
            并查集用森林來(lái)表示,他有以下操作:
            初始化:把每個(gè)節(jié)點(diǎn)所在結(jié)合初始化為自身。
            查找:查找元素所在的集合,即根節(jié)點(diǎn)
            合并:將兩個(gè)在不同集合的元素合并為一個(gè)集合,為了保持?jǐn)?shù)的深度的平衡性,在合并之前,應(yīng)判斷兩個(gè)集合樹的深度,如果深度不同,應(yīng)將深度小的合并到深度大的上面。
            關(guān)于維持集合樹深度的問(wèn)題,還有另一種做法,就是合并集合的時(shí)候并不考慮樹的深度,而是在查詢的時(shí)候改變樹的深度。因?yàn)闆](méi)有寫過(guò),這里不多說(shuō)了。
            下面是poj1258的代碼,最直接的最小生成樹。
            posted @ 2012-08-04 14:24 小鼠標(biāo) 閱讀(1617) | 評(píng)論 (0)編輯 收藏
            大數(shù)問(wèn)題。C語(yǔ)言中沒(méi)有大整數(shù)類型,當(dāng)一個(gè)數(shù)超過(guò)long long時(shí)我們就沒(méi)辦法直接表示,只能通過(guò)數(shù)組模擬(字符數(shù)組,或者整形數(shù)組),與Java相比,這一點(diǎn)真是夠折磨人的,記得今年省賽的時(shí)候,有一題是關(guān)于大數(shù)的,有人直接用Java中的BigInteger類,很輕松的就搞定了,C語(yǔ)言真是無(wú)法望其項(xiàng)背。這里我們用C解一道大數(shù)乘法題,其實(shí)模擬大數(shù)運(yùn)算就是在模擬小學(xué)生算算術(shù),這一題只牽涉到了加法和乘法,我就說(shuō)著兩種操作。
            加法Add():
            1.對(duì)位,將權(quán)值相同的各位對(duì)其
            2.相加,將相應(yīng)的每一位相加
            3.進(jìn)位,從低位到高位依次進(jìn)位
            乘法:a*b
            乘法是在加法的基礎(chǔ)上完成的,跟我們手算乘法的過(guò)程一樣,依次將b的每一位與a相乘,加到一起就行了。需要注意的是b中的每一位權(quán)值是不一樣的。
            為了對(duì)位方便,我們通常是將數(shù)字倒置過(guò)來(lái),即低位在左邊,高位在右邊。字符串處理都是些細(xì)節(jié),不小心就會(huì)犯錯(cuò)誤。
            以下是poj3167的代碼:
            題意:給兩個(gè)數(shù)K、M,求n,使得M^n的第K為是數(shù)字7。
            posted @ 2012-08-04 09:31 小鼠標(biāo) 閱讀(1175) | 評(píng)論 (0)編輯 收藏
            最直接的廣度優(yōu)先搜索題。求最短路一般用廣搜,廣搜要用到隊(duì)列;與廣搜對(duì)應(yīng)的是深搜,深搜要用到棧,它能找到所有路,這里不展開說(shuō)了。剛?cè)腴T的同學(xué)可以先看看隊(duì)列這種數(shù)據(jù)結(jié)構(gòu)。
            無(wú)論廣搜還是深搜,走過(guò)的節(jié)點(diǎn)一定要標(biāo)記,以免多次走過(guò)同一個(gè)節(jié)點(diǎn)。
            以下是本題代碼:
            posted @ 2012-08-02 19:51 小鼠標(biāo) 閱讀(214) | 評(píng)論 (0)編輯 收藏
            僅列出標(biāo)題
            共13頁(yè): First 4 5 6 7 8 9 10 11 12 Last 
            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            隨筆分類(111)

            隨筆檔案(127)

            friends

            最新評(píng)論

            閱讀排行榜

            亚洲精品美女久久久久99| 99久久成人国产精品免费| 久久综合精品国产二区无码| 久久这里只有精品首页| 亚洲午夜精品久久久久久浪潮| 婷婷伊人久久大香线蕉AV| 久久亚洲欧美日本精品| 97视频久久久| 久久福利青草精品资源站免费| 欧美久久综合九色综合| 久久精品夜夜夜夜夜久久| 九九热久久免费视频| 人妻少妇久久中文字幕一区二区| 麻豆精品久久精品色综合| 国产精品99久久久精品无码| 嫩草影院久久国产精品| 久久久亚洲欧洲日产国码是AV| 亚洲嫩草影院久久精品| 亚洲中文字幕伊人久久无码| 一本一道久久精品综合| 午夜精品久久久久久中宇| 久久久久亚洲AV成人网人人网站 | 久久久久se色偷偷亚洲精品av| 亚洲欧美日韩精品久久| 久久夜色精品国产噜噜麻豆| 久久亚洲色一区二区三区| 久久99精品久久久久久| 久久综合狠狠综合久久综合88| 人妻无码久久精品| 曰曰摸天天摸人人看久久久| 久久ww精品w免费人成| 亚洲国产精品无码久久青草| 久久精品嫩草影院| 国内精品久久人妻互换| 中文字幕久久精品无码| 亚洲婷婷国产精品电影人久久| 国产2021久久精品| 久久精品国产秦先生| 久久精品无码专区免费东京热| 久久天天躁夜夜躁狠狠躁2022 | 精品久久亚洲中文无码|