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

            The Fourth Dimension Space

            枯葉北風寒,忽然年以殘,念往昔,語默心酸。二十光陰無一物,韶光賤,寐難安; 不畏形影單,道途阻且慢,哪曲折,如渡飛湍。斬浪劈波酬壯志,同把酒,共言歡! -如夢令

            UESTC D Divide DP

            這個動態規劃還要好好研究下,二分+dp,想法很不錯,而且這里有個trick,就是這個最大值可以是負數,一開始沒有注意到還我傻呆呆的Wa了N次。。。好了,不能再做題了,趕緊看系統結構吧。不然要杯具了。。。

            官方解題報告:
            首先二分答案ans,然后問題變為是否能夠將N個數分為不超過M堆,并且每堆的和都不超過ans。因為存在負數,所以貪心的做法是錯誤的。這可以用動態規劃求解,用dp[ i ]表示考慮前i個數,至少需要分dp[ i ]堆才能使每堆和不超過ans.

            dp[0] = 0

            dp[ i ] = min{ dp[ j ] + 1 }, j < i 且 sum(j + 1, i) <= ans.


            #include<iostream>
            #include
            <algorithm>
            using namespace std;
            #define INF 999999999
            int n,m;
            int a[1010];
            int dp[1010];
            int sum[1010];

            bool check(int mid)
            {
                
            int i,j;
                memset(dp,
            0,sizeof(dp));
                
            for(i=1;i<=n;i++)
                
            {
                    dp[i]
            =INF;
                    
            for(j=0;j<i;j++)
                    
            {
                        
            if(sum[i]-sum[j]<=mid)
                                dp[i]
            =min(dp[i],dp[j]+1);
                    }

                }

                
            if(dp[n]<=m)
                    
            return true;
                
            else
                    
            return false;
            }


            int main()
            {
                
            int t;

                
            int i,j;
                scanf(
            "%d",&t);
                
            while(t--)
                
            {
                    scanf(
            "%d%d",&n,&m);
                    
            for(i=1;i<=n;i++)
                    
            {
                        scanf(
            "%d",&a[i]);
                        sum[i]
            =sum[i-1]+a[i];
                    }

                    
            int l=-100000;
                    
            int r=100000;
                    
            int ans=-1;
                    
            while(l<=r)
                    
            {
                        
            int mid=(l+r)>>1;
                        
            if(check(mid))
                        
            {
                            r
            =mid-1;
                            ans
            =mid;
                        }

                        
            else
                        
            {

                            l
            =mid+1;
                        }

                    }

                    printf(
            "%d\n",ans);
                
                }

                
            return 0;


            }



            posted on 2010-05-02 19:55 abilitytao 閱讀(1146) 評論(1)  編輯 收藏 引用

            評論

            # re: UESTC D Divide DP[未登錄] 2010-05-05 09:08 yoyo

            Hi, man.
            The problems and solution or algorithms posted here are terrific, but in most time readers here are hard to see the description of problems.

            Would you provide the problem description or kind of info, before giving your ideas and algorithm code? Or a URL to introduce problems hosted by "UESTC"?

            Thanks in advance!

            yoyo   回復  更多評論   

            久久这里只精品国产99热| 久久久久18| 久久免费视频网站| 国产精品欧美久久久久天天影视| 99精品伊人久久久大香线蕉| 一本久久精品一区二区| 久久99精品久久久久久hb无码 | 浪潮AV色综合久久天堂| 亚洲中文久久精品无码| 99久久国产亚洲高清观看2024 | 欧洲成人午夜精品无码区久久| 久久国产色AV免费观看| 日本高清无卡码一区二区久久| 青青草原精品99久久精品66 | 国产亚洲精品久久久久秋霞| 国产精品99久久久久久人| 久久久久国色AV免费看图片| 久久久国产乱子伦精品作者| 久久久久综合中文字幕 | 久久香蕉国产线看观看精品yw| 国内精品久久久久影院免费| 久久久无码精品亚洲日韩京东传媒 | 久久亚洲sm情趣捆绑调教| 久久婷婷国产麻豆91天堂| 国产亚洲美女精品久久久2020| 欧美粉嫩小泬久久久久久久| 国产精品久久久久久搜索| 思思久久好好热精品国产| 久久精品国产亚洲精品| 国产精品视频久久| 久久久女人与动物群交毛片| 麻豆精品久久久久久久99蜜桃| 久久精品99无色码中文字幕| 久久综合久久综合久久| 99久久精品国内| 久久亚洲精品国产精品| 18岁日韩内射颜射午夜久久成人| 久久亚洲精品无码播放| 久久露脸国产精品| 人人狠狠综合久久亚洲高清| 久久综合色老色|