POJ 1160

作者: vanadia | 来源:发表于2016-08-31 21:05 被阅读0次

POJ 1160

题意

有n个村庄,要求选其中的p个建立邮局,求最小的距离。

思路

学习kedebug博客思路代码

#include <iostream>
#include <algorithm>
using namespace std;

const int MAXN = 310;
const int IFNS = 0x3fffffff;

int dp[MAXN][MAXN],cost[MAXN][MAXN],x[MAXN];
int vil,office;

int calccost(int i, int j){
    int ans = 0;
    while(i<j){
        ans += x[j] - x[i];
        i++,j--;
    }
    return ans;
}

int workout(){
    for(int i=0;i<office;i++){
        for(int j = i;j<= vil;j++){
            dp[0][0] = 0;

        }
    }

    for(int i=1;i<=office;i++){
        for(int j=i;j<=vil;j++){
            for(int k=0;k<j;k++)
                dp[i][j] = min(dp[i][j],dp[i-1][k]+cost[k+1][j]);
        }
    }
    return dp[office][vil];
}

int main(){
    // 输入村庄数,邮局 还有村庄的位置 
    while(~scanf("%d%d",&vil,&office)){
        x[0] = 0;
        for(int i=0;i<vil;i++){
            scanf("%d",&x[i]);
        }

        for(int i=1;i<=vil;i++)
            for (int j = i; j <= vil; ++j)
                cost[i][j] = calccost(i,j);//计算两个村庄之间所有村庄的距离之和

            
        printf("%d\n",workout());   
    }
    return 0;
}

相关文章

  • POJ 1160

    POJ 1160 题意 有n个村庄,要求选其中的p个建立邮局,求最小的距离。 思路 学习kedebug博客思路代码

  • poj1160-Post Office

    [这是一道DP题] dp[i][j]表示i个村庄共享j个邮局的最优距离总和sum[i][j]表示第i个村庄到第j个...

  • Chapter9——图——最小生成树

    1. 题目列表 POJ1789(prim算法) POJ2485(prim) POJ1258(prim) POJ30...

  • poj来自群

    OJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj...

  • Chapter5——数据结构——字符串

    1. 题目列表 poj1035,poj3080,poj1936 2. POJ1035——Spell checker...

  • ACM算法学习状态

    初期:一.基本算法:(1)枚举. (poj1753,poj2965)(2)贪心(poj1328,poj2109,p...

  • 常用技巧合集

    1.尺取法 POJ 3061 POJ3320 POJ 2739 2.反转问题 POJ 3276 集合的整数表示空集...

  • Chapter7——基础算法——哈希、二分

    1. 题目列表 POJ3349(数组hash) POJ3274(问题转换+数组hash、树状数组) POJ2151...

  • 计算几何

    极限 POJ 1981: Circle and Points POJ 1418: Viva Confetti题解链...

  • 1160

    一 《清心咒》 清心若水,清水即心。 微风无起,波澜不惊。 幽篁独坐,长啸鸣琴。 禅寂入定,毒龙遁形。 我心无窍,...

网友评论

      本文标题:POJ 1160

      本文链接:https://www.haomeiwen.com/subject/nxkcettx.html