• <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 閱讀(1150) 評論(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久久做夜夜爱天天做精品| 国产亚洲色婷婷久久99精品| 日产久久强奸免费的看| 久久青青草原亚洲av无码app| 久久精品视屏| 人人狠狠综合久久亚洲婷婷| 国产精品中文久久久久久久| 欧美日韩中文字幕久久伊人| 亚洲日韩中文无码久久| 久久婷婷五月综合成人D啪| 996久久国产精品线观看| 久久天天躁夜夜躁狠狠| 久久国产综合精品五月天| 99麻豆久久久国产精品免费| 久久亚洲AV无码精品色午夜麻豆| 久久99热这里只有精品国产| 99久久国产热无码精品免费| 18岁日韩内射颜射午夜久久成人| 久久伊人中文无码| 久久精品国产99国产精品| 成人午夜精品久久久久久久小说| 精品人妻久久久久久888| 国内精品久久久久伊人av| 亚洲精品无码专区久久久| 老男人久久青草av高清| 四虎国产精品成人免费久久| 亚洲精品国精品久久99热| 久久男人中文字幕资源站| 亚洲Av无码国产情品久久| 青草久久久国产线免观| 亚洲精品午夜国产va久久| 99久久做夜夜爱天天做精品| 久久久久久精品久久久久| 久久婷婷五月综合色奶水99啪 | 久久精品国产亚洲av高清漫画| 97精品依人久久久大香线蕉97| 精品国产乱码久久久久软件|