• <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 閱讀(183) 評論(0)  編輯 收藏 引用
            久久狠狠爱亚洲综合影院| 女人高潮久久久叫人喷水| 久久精品国产亚洲av日韩| 国产亚洲婷婷香蕉久久精品| 91精品无码久久久久久五月天 | 久久成人国产精品免费软件| 麻豆一区二区99久久久久| 久久免费小视频| 色播久久人人爽人人爽人人片aV| 久久国产乱子伦免费精品| 久久综合九色综合久99| 国产精品国色综合久久| 大香伊人久久精品一区二区| 成人免费网站久久久| 漂亮人妻被中出中文字幕久久 | 亚洲伊人久久成综合人影院| 99久久成人国产精品免费| 精品久久久无码21p发布| 精品国产综合区久久久久久 | 久久99久久99精品免视看动漫| 亚州日韩精品专区久久久| 伊人丁香狠狠色综合久久| 狠狠色婷婷久久一区二区三区 | 久久夜色撩人精品国产小说| 国产精品久久99| 99久久精品日本一区二区免费 | 久久国产乱子精品免费女| 欧洲人妻丰满av无码久久不卡| 久久久久久久波多野结衣高潮| 精品久久久久久久久久久久久久久 | 国内精品久久久久久久久| 99久久精品国产高清一区二区| 久久精品国产亚洲AV电影| 无码人妻少妇久久中文字幕蜜桃 | 无码伊人66久久大杳蕉网站谷歌 | 久久99精品国产99久久6男男| 久久66热人妻偷产精品9| 精品久久久久久国产潘金莲| 久久国产精品无码一区二区三区| 国产精品九九九久久九九| 色综合久久中文综合网|