• <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>
            隨筆-65  評論-6  文章-0  trackbacks-0
             1 //還是轉移方程搞懂了就沒問題 
             2 #include <iostream>
             3 using namespace std;
             4 #define MaxSize 205
             5 #define inf 0x7ffffff
             6 int f[MaxSize],dp[33][MaxSize],cost[MaxSize][MaxSize] ;
             7 //餐館位置、前j個餐館設立i個倉庫的最短距離、第i個餐館到第j個餐館的設立一個倉庫的最短距離
             8 inline int abs(int a){
             9     if(a<0)    a=-a;
            10     return a;
            11 }
            12 inline int min(int a,int b){
            13     return a<b?a:b;
            14 }
            15 int main(){
            16     //freopen("in.txt","r",stdin);
            17     int i,j,w,n,k,no=0;
            18     while (scanf("%d %d",&n,&k),(n||k)){
            19         for(i=1;i<=n;i++)
            20             scanf("%d",&f[i]);
            21         for(i=1;i<=n;i++)
            22             for(j=i;j<=n;j++){
            23                 int pos=(i+j)>>1,temp1=0;
            24                 for(w=i;w<=j;w++)
            25                     temp1+=abs(f[w]-f[pos]);
            26                 if(pos&1){
            27                     int temp2=0;            
            28                     for(w=i;w<=j;w++)
            29                         temp2+=abs(f[w]-f[pos+1]);
            30                     cost[i][j]=min(temp1,temp2);
            31                 }
            32                 else
            33                     cost[i][j]=temp1;
            34             }
            35         memset(dp,0,sizeof(dp));
            36         for(i=1;i<=n;i++)
            37             dp[1][i]=cost[1][i];
            38         for(i=2;i<=k;i++)
            39             for(j=i;j<=n;j++){
            40                 dp[i][j]=inf;
            41                 for(w=i-1;w<j;w++)
            42                     dp[i][j]=min(dp[i][j],dp[i-1][w]+cost[w+1][j]);
            43             }
            44                 
            45         printf("Chain %d\n",++no);
            46         printf("Total distance sum = %d\n\n",dp[k][n]);
            47     }
            48     return 0;
            49 }
            posted on 2012-07-11 11:10 Leo.W 閱讀(363) 評論(0)  編輯 收藏 引用
            亚洲国产综合久久天堂| 久久天天日天天操综合伊人av| 无码AV波多野结衣久久| 亚洲精品乱码久久久久久| 精品久久一区二区三区| 婷婷久久综合九色综合九七| 色婷婷综合久久久久中文一区二区| 久久精品国产亚洲AV大全| 久久久噜噜噜久久| 色综合久久综精品| 久久精品国产精品亚洲精品| 99久久精品免费观看国产| 亚洲国产另类久久久精品| 久久福利片| 91精品国产91久久久久久青草 | 国产91色综合久久免费分享| 久久一区二区三区99| 亚洲国产精品久久久久网站| 午夜久久久久久禁播电影| 亚洲精品视频久久久| 久久精品一本到99热免费| 四虎国产精品免费久久久| 国产亚洲综合久久系列| 久久久久av无码免费网| 久久久久国产成人精品亚洲午夜| 99久久无色码中文字幕| 无码人妻精品一区二区三区久久久| 久久人人爽人人精品视频| 久久精品无码免费不卡| 亚洲国产成人久久精品动漫| 国产69精品久久久久777| 久久久久无码精品国产不卡| 少妇精品久久久一区二区三区| 久久丫忘忧草产品| 亚洲狠狠婷婷综合久久久久 | 国产成人综合久久精品红| 日本国产精品久久| 麻豆久久久9性大片| 久久婷婷色香五月综合激情| 无码人妻久久一区二区三区| 精品精品国产自在久久高清 |