• <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>

            QuXiao

            每天進步一點點!

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              50 隨筆 :: 0 文章 :: 27 評論 :: 0 Trackbacks

            有N(1<=N<=50)種不同面值郵票,由這些郵票組成面值1~M,1、2、……、M每種面值均由不超過K(1<=K<=200)數目的郵票組成,求最大的M為多少?郵票最大面值為10000

            一開始想到DP,數組canComprise[10000*200][200],canComprise[i][j]表示用j張郵票是否可以組成面值i,但數組太大,放棄。

            后來改用深搜,優化了許久,最后幾組數組仍然超時,放棄。

            又回頭想DP,如果canComprise[i][j1]和canComprise[i][j2]均為true,j1 < j2,那么canComprise[i][j1]肯定是更優的解,因為j1可以擴展更多i+stamps[x]。所以,只要用一維數組保存答案就可以了,比如minStamp[i] = j就表示組成i所用到的最少郵票數為j,遞推式很容易想到:

            minStamp[i] = Min{ minStamp[i-stamp[x]] + 1 } ( i – stamp[x] >= 0 )

             

            同一種情況,表達解的方式可能有多種,盡量使用最精簡的方式,已達到降維的效果。

            posted on 2011-02-12 11:59 quxiao 閱讀(173) 評論(0)  編輯 收藏 引用
            久久久久久久久久久久中文字幕| 国产精品久久久久久久午夜片 | 亚洲综合精品香蕉久久网| 久久午夜无码鲁丝片秋霞| 伊人久久精品无码av一区| 99国产欧美精品久久久蜜芽 | 亚洲欧美精品一区久久中文字幕 | 国产成人精品免费久久久久| 中文精品久久久久国产网址| 国产香蕉久久精品综合网| 久久久久亚洲精品天堂| 久久久久无码中| 久久亚洲欧美日本精品| 亚洲精品白浆高清久久久久久| 久久精品国产亚洲沈樵| 无码人妻久久一区二区三区免费丨 | 免费观看成人久久网免费观看| 国产免费久久精品99re丫y| 99久久国产综合精品五月天喷水| 国产成人精品综合久久久久| 亚洲精品NV久久久久久久久久| 亚洲国产成人久久精品影视| 久久精品国产亚洲AV香蕉| 久久亚洲sm情趣捆绑调教| 久久久人妻精品无码一区| 97精品伊人久久久大香线蕉| 国产精品久久久久久影院 | 久久婷婷国产剧情内射白浆| 国产91久久综合| 93精91精品国产综合久久香蕉| 国产一级持黄大片99久久| 久久久av波多野一区二区| 日韩久久久久久中文人妻| 午夜久久久久久禁播电影| 18岁日韩内射颜射午夜久久成人| 亚洲?V乱码久久精品蜜桃 | 99久久精品国产免看国产一区| 丁香色欲久久久久久综合网| 人人妻久久人人澡人人爽人人精品| 看全色黄大色大片免费久久久| 久久亚洲欧洲国产综合|