//Accepted    564 KB    63 ms
 //和hdu1227一样
 //dp[i][j]=min(dp[i][j],dp[k][j-1]+cost[k+1][i])
 //初始化条件,dp[0][0]=0;
 //dp[i][0]=inf;i>=1;
 #include <cstdio>
 #include <cstring>
 #include <iostream>
 using namespace std;
 ;
 ;
 ;
 int cost[imax_n][imax_n];
 int dp[imax_n][imax_P];
 int dis[imax_n];
 int n,P;
 int tabs(int x)
 {
     ) x=-x;
     return x;
 }
 int min(int a,int b)
 {
     return a<b?a:b;
 }
 void getCost()
 {
     ;i<=n;i++)
     {
         for (int j=i;j<=n;j++)
         {
             cost[i][j]=;
             ;
             for (int k=i;k<=j;k++)
             cost[i][j]+=tabs(dis[k]-dis[temp]);
         }
     }
 }
 void Dp()
 {
     getCost();
     ;i<=n;i++)
     ;j<=P;j++)
     dp[i][j]=inf;
     dp[][]=;
     ;i<=n;i++)
     {
         ;j<=P && j<=i;j++)
         {
             ;k<i;k++)
             {
                 dp[i][j]=min(dp[i][j],dp[k][j-]+cost[k+][i]);
             }
         }
     }
     printf("%d\n",dp[n][P]);
 }
 int main()
 {
     while (scanf("%d%d",&n,&P)!=EOF)
     {
         ;i<=n;i++)
         scanf("%d",&dis[i]);
         Dp();
     }
     ;
 }
 //Accepted    564 KB    79 ms
 #include <cstdio>
 #include <cstring>
 #include <iostream>
 using namespace std;
 ;
 ;
 ;
 int cost[imax_n][imax_n];
 int dp[imax_n][imax_P];
 int dis[imax_n];
 int n,P;
 int tabs(int x)
 {
     ) x=-x;
     return x;
 }
 int min(int a,int b)
 {
     return a<b?a:b;
 }
 void getCost()
 {
     ;i<=n;i++)
     {
         for (int j=i;j<=n;j++)
         {
             cost[i][j]=;
             ;
             for (int k=i;k<=j;k++)
             cost[i][j]+=tabs(dis[k]-dis[temp]);
         }
     }
 }
 void Dp()
 {
     getCost();
     ;i<=n;i++)
     dp[i][]=inf;
     dp[][]=;
     ;i<=n;i++)
     {
         ;j<=P && j<=i;j++)
         {
             dp[i][j]=inf;
             ;k<i;k++)
             {
                 dp[i][j]=min(dp[i][j],dp[k][j-]+cost[k+][i]);
             }
         }
     }
     printf("%d\n",dp[n][P]);
 }
 int main()
 {
     while (scanf("%d%d",&n,&P)!=EOF)
     {
         ;i<=n;i++)
         scanf("%d",&dis[i]);
         Dp();
     }
     ;
 }

poj1160 dp的更多相关文章

  1. 区间DP POJ1160村庄邮局问题

    POJ1160 题目大意:一系列村庄在一维坐标系上有序的排列,建设p个邮局,问各个村庄到邮局的最短距离和. 线性区间DP问题 dp数组的值为最短/最优距离 村庄和邮局为限制 dp[i][j]表示前i个 ...

  2. POJ1160 Post Office[序列DP]

    Post Office Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 18680   Accepted: 10075 Des ...

  3. 石子合并(四边形不等式优化dp) POJ1160

    该来的总是要来的———————— 经典问题,石子合并. 对于 f[i][j]= min{f[i][k]+f[k+1][j]+w[i][j]} From 黑书 凸四边形不等式:w[a][c]+w[b][ ...

  4. POJ-1160 Post Office (DP+四边形不等式优化)

    题目大意:有v个村庄成直线排列,要建设p个邮局,为了使每一个村庄到离它最近的邮局的距离之和最小,应该怎样分配邮局的建设,输出最小距离和. 题目分析:定义状态dp(i,j)表示建设 i 个邮局最远覆盖到 ...

  5. POJ1160 Post Office (四边形不等式优化DP)

    There is a straight highway with villages alongside the highway. The highway is represented as an in ...

  6. [POJ1160] Post Office [四边形不等式dp]

    题面: 传送门 思路: dp方程实际上很好想 设$dp\left[i\right]\left[j\right]$表示前$j$个镇子设立$i$个邮局的最小花费 然后状态转移: $dp\left[i\ri ...

  7. POJ1160 Post Office-四边形不等式优化DP

    方程 $\Large f(i,j)=min(f(i-1,k)+w(k+1,j))$ 其中$w(i,j)$表示在$[i,j]$的村庄都去一个邮局的最小距离和 证明w满足四边形不等式 设$w_k(i,j) ...

  8. 【poj1160】 Post Office

    http://poj.org/problem?id=1160 (题目链接) 题意 按照递增顺序给出一条直线上坐标互不相同的n个村庄,要求从中选择p个村庄建立邮局,每个村庄使用离它最近的那个邮局,使得所 ...

  9. DP总结 ——QPH

    常见优化 单调队列 形式 dp[i]=min{f(k)} dp[i]=max{f(k)} 要求 f(k)是关于k的函数 k的范围和i有关 转移方法 维护一个单调递增(减)的队列,可以在两头弹出元素,一 ...

随机推荐

  1. 接入WebSocket

    闲扯 WebSocket 以前没用过,之前写过一篇博客是基于原生socket的(查看)比较复杂,慎入.今天另外一个APP需要接websocket了,然后便找到了facebook的 SocketRock ...

  2. 报错解决:No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here

    大概分析一般使用了注解才会报这方面的错 1.没有在spring的ApplicationContext.xml中开启注解事务 <!-- 开启注解事务 --> <tx:annotatio ...

  3. Oracle函数大全之转换函数

    chartorowid(c1) [功能]转换varchar2类型为rowid值 [参数]c1,字符串,长度为18的字符串,字符串必须符合rowid格式 [返回]返回rowid值 [示例] SELECT ...

  4. C++的vector学习abc

    开始学习和使用vector了,用到之后再去学似乎神迹的感觉啊,就像跑一下就能给个糖吃哈哈 百度上的六种初始化的方法就不再说了,那些方法都很对. 如果没有值初始化,系统会自行初始化,目前我遇到的是用脚标 ...

  5. State模式的经典应用场景:订单处理(c#实现)

    State模式在对象内部状态发生变化的时候,改变自身的行为,这通常是通过切换内部状态对象实现的,对象将自身在各个状态的行为推给了状态对象,从而解开了行为与对象的依赖. 场景描述 在经典的订单处理场景中 ...

  6. html5 <input> placeholder 属性

    带有 placeholder 文本的搜索字段: <form action="demo_form.asp" method="get"> <inp ...

  7. js在前端获取在本地上传图片的尺寸

    var MyTest = document.getElementById("upload_img").files[0];var reader = new FileReader(); ...

  8. Axis2 webservice入门--写个简单的webservice

    上一篇介绍了webservice开发前的准备.下面开始写webservice.如果不了解axis2请看上一篇,如果是新手:建议一边看一边写代码,自己动手完成这个过程. 一.新建一个web项目 二.新建 ...

  9. php include

    get_include_path  获取当前 include_path 配置选项的值,在当前代码目录未找到include文件时,则到include_path去include. set_include_ ...

  10. 微信浏览器——User Agent

    在iPhone 返回 Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gec ...