• <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>
            算法學社
            記錄難忘的征途
            posts - 141,comments - 220,trackbacks - 0
            十一七天終于結(jié)束了... 成果是AK了3場CF,做了2場TC的div1 250與500。還算效率可以吧....
            代碼見:
            http://codeforces.com/contest/226/my

            A 漢諾塔,不用多說...
            B
            有N(N<100,000)堆石子,任何一堆石子i可以放到任何一堆石子j上,代價是i的石子數(shù)量。
            合并以后,這堆石子數(shù)量是兩堆石子的和,標號是j。
            現(xiàn)在詢問,每堆石子被+不能超過k的最小代價。

            算法分析:
               一開始以為是Huffman Tree,其實毛關(guān)系沒有,如果k沒有限制那么答案應該是所有石子加和減去最大的那個...
               如果有限制k,那么我們想,最后的情形一定是k堆石子加到了某石子i上,那么石子i一定是最大的那個(因為i不用加了)...
               那么這k堆的石子標號一定是次大的k個,k堆石子一定是k*k堆石子累加的... 于是這樣類推.... 一開始排個序就好了...

            C
            在[l,r]中,選k個數(shù),讓他們的最大公約數(shù)最大, l,r<1,000,000,000,000

            算法分析:
               巨坑的一題,答案的分布不是單調(diào)的,無法枚舉結(jié)果。只能改變思路...

               假設答案是ans, 那么一定有
            r/ans - (l-1)/ans >= k

               a/b下取整最多有2*sqrt(a)個,怎么求自己想吧 == , 于是枚舉ans就可以了....

            D 不會證明
            E
            給一顆大小100,000的樹,100,000次操作。每次操作要么給一個節(jié)點賦一個值,要么求一個路徑上的比 x大的點數(shù)。

            算法分析:
               樹鏈剖分轉(zhuǎn)為線形結(jié)構(gòu),然后問題就是如何就一個區(qū)間里比k大的數(shù)的個數(shù),而且支持修改。
               線段樹樹套按權(quán)值建的線段樹搞之...
            posted on 2012-10-07 16:10 西月弦 閱讀(562) 評論(10)  編輯 收藏 引用 所屬分類: 解題報告codeforces

            FeedBack:
            # re: codeforces #140
            2012-10-07 21:08 | cgangee
            不懂C題,怎么枚舉ans?  回復  更多評論
              
            # re: codeforces #140
            2012-10-08 11:09 | 西月弦
            @cgangee
            a/b的值只可能是 a/1 a/2 a/3 a/4 .... a/ sqrt(a) 和 1 .. 2.. 3.. sqrt(a)  回復  更多評論
              
            # re: codeforces #140
            2012-10-25 13:50 | snowfox
            大神 C題不懂 能說的詳細點嗎?  回復  更多評論
              
            # re: codeforces #140
            2012-10-28 11:33 | 西月弦
            @snowfox
            根據(jù)gcd(F(i),F(j)) = F(gcd(i,j)) 我們可以得出,該問題等價于求在[l,r]中選出k個數(shù)讓他們的gcd最大。

            假設這個gcd是ans
            那么就相當于求 r/ans - (l-1)/ans >= k (我這個沙茶寫錯了,對不起。。)

            a/b下取整可能的取值是有O(sqrt(a))個,見我上一個回復。
            這樣一詞枚舉就可以了。。。 哪里不明白我還可以詳細解釋  回復  更多評論
              
            # re: codeforces #140
            2012-10-28 14:07 | snowfox
            @西月弦
            謝謝神牛~  回復  更多評論
              
            # re: codeforces #140
            2012-10-28 14:55 | snowfox
            @西月弦
            懂了 懂了~  回復  更多評論
              
            # re: codeforces #140
            2012-10-28 17:22 | snowfox
            @snowfox
            神牛 如果是10 4 8 2 這組數(shù)據(jù)的話 ans應該等于4 但是根據(jù) r/ans - (l-1)/ans >= k 8/4-3/4>=2 不成立啊……  回復  更多評論
              
            # re: codeforces #140
            2012-10-28 17:23 | snowfox
            神牛 如果是10 4 8 2 這組數(shù)據(jù)的話 ans應該等于4 但是根據(jù) r/ans - (l-1)/ans >= k 8/4-3/4>=2 不成立啊……   回復  更多評論
              
            # re: codeforces #140
            2012-10-29 17:44 | 西月弦
            @snowfox
            8/4 - 3/4 = 2 >= 2 哪里不對了><  回復  更多評論
              
            # re: codeforces #140
            2012-10-29 18:08 | snowfox
            @西月弦
            額……我錯了……我錯了……我忘了是取整了……擦……我SB了……  回復  更多評論
              
            国内精品久久久久久野外| 少妇精品久久久一区二区三区| 狠狠狠色丁香婷婷综合久久五月| 成人资源影音先锋久久资源网| 亚洲国产精品久久久久| 久久国产成人精品国产成人亚洲| 久久综合精品国产一区二区三区 | 欧美综合天天夜夜久久| 久久精品国产一区二区三区| 久久国产欧美日韩精品免费| 精品国产一区二区三区久久久狼| 久久精品国产99久久久香蕉| 超级97碰碰碰碰久久久久最新| 国产V综合V亚洲欧美久久| 欧美久久天天综合香蕉伊| 久久婷婷五月综合色高清| 99久久国产综合精品五月天喷水| 亚洲伊人久久成综合人影院 | 久久夜色精品国产噜噜亚洲AV| 99久久99久久精品国产片果冻| 狠狠色丁香久久婷婷综合| 91久久国产视频| 国产亚洲欧美精品久久久| 久久久亚洲欧洲日产国码是AV| 色噜噜狠狠先锋影音久久| 久久精品国产第一区二区三区| 色播久久人人爽人人爽人人片aV | 久久婷婷久久一区二区三区| 久久久久亚洲av综合波多野结衣| 国产69精品久久久久99| 国产精品久久久久久福利69堂| 亚洲精品国精品久久99热| 久久99精品国产99久久6| 精品999久久久久久中文字幕| 日产精品久久久一区二区| 久久精品国产亚洲AV影院| 久久亚洲sm情趣捆绑调教| 性做久久久久久久久老女人| 久久亚洲国产精品123区| 久久香蕉国产线看观看猫咪?v| 久久久久国产精品嫩草影院|