题目链接:http://poj.org/problem?id=1485

暂时我还没想出思路求路径。哈哈哈,先写一下中间步骤吧。

#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <math.h>using namespace std;int d[210];         ///沿高速公路n各快餐店的位置
int cost[210][210]; ///cost[i][j]表示任意两个快餐店之间建一个仓库,所有饭店到该仓库的距离之和
int dis[210][210];  ///dis[i][j]表示前i个仓库与前j个快餐店之间的最小距离
int n,k;int main()
{while(scanf("%d%d",&n,&k),n!=0||k!=0){for(int i=1;i<=n;i++)scanf("%d",&d[i]);memset(cost,0,sizeof(cost));for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){int tmp = (i+j)/2;for(int m=i;m<=j;m++)cost[i][j]+=abs(d[m]-d[tmp]);}}memset(dis,1,sizeof(dis));for(int i=1;i<=n;i++)dis[1][i] = cost[1][i];for(int i=2;i<=k;i++)       ///仓库
        {for(int j=i;j<=n;j++)   ///快餐店
            {for(int m=i-1;m<j;m++){int tmp = dis[i-1][m] + cost[m+1][j];if(tmp<dis[i][j])dis[i][j] = tmp;}}}printf("%d\n",dis[k][n]);}return 0;
}

转载于:https://www.cnblogs.com/TreeDream/p/5540397.html

快餐店之间插入仓库,路最短,DP,POJ(1485)相关推荐

  1. 【Android 逆向】启动 DEX 字节码中的 Activity 组件 ( 在 PathClassLoader 和 BootClassLoader 之间插入 DexClassLoader )

    文章目录 前言 一.在 PathClassLoader 和 BootClassLoader 之间插入 DexClassLoader 1.创建 DexClassLoader 2.使用 DexClassL ...

  2. 回溯法——设计一个算法在1、2、3... 9(顺序不能变)数字之间插入+ 或 - 或什么都不插入,使得计算结果总是100的程序,并输出所有的可能性和全排列

    回溯法 题目描述: 设计一个算法在1.2.3- 9(顺序不能变)数字之间插入+ 或 - 或什么都不插入,使得计算结果总是100的程序,并输出所有的可能性.例如1+2+34-5+67-8+9=100 分 ...

  3. 计算机函数中数与数之间的冒号,如何在数字之间插入冒号以使其在Excel中自动成为时间格式?...

    如何在数字之间插入冒号以使其在Excel中自动成为时间格式? 当您在工作表单元格中插入时间格式时,您是否曾经每次输入冒号都感到烦恼? 在本文中,我将讨论在输入数字以使其在Excel中自动成为时间格式时 ...

  4. STA - 不同时钟域之间插入latch,fix hold违例

    如图所示,数据由寄存器 F1 发出,寄存器 F3 捕获,完成CTS之后,由于clock skew原因,F1 到 F3 的hold,较难满足. 在F1与F3之间插入一个latch,latch的时钟接st ...

  5. 【POJ - 3249】Test for Job(DAG线性求带负权的最长路,dp)

    题干: Mr.Dog was fired by his company. In order to support his family, he must find a new job as soon ...

  6. LeetCode 1312. 让字符串成为回文串的最少插入次数(区间DP)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个字符串 s ,每一次操作你都可以在字符串的任意位置插入任意字符. 请你返回让 s 成为回文串的 最少操作次数 . 「回文串」是正读和反读都相同的字 ...

  7. 刷题之路:DP思想(动态规划)

    dp一般用于解决决策问题,比如说你的每一步都有好几种处理方式,怎么选择使得最后的结果满足或者接近于你的预期是需要考虑的问题. 所以dp问题实际上也就是最优解的问题 一般采用的方式就是将问题拆分成若干个 ...

  8. 算法学习之路|数位dp简要分析

    数位dp一般用于处理一些和数位有关的计数问题,比如说求区间[l,r]中有多少符合条件的数,而为了减少时间复杂度,方法使用的是动态规划的思想. 举例说明:问从0到2345这些数中总共包含多少6. 数位d ...

  9. leetcode514. 自由之路(dp)

    电子游戏"辐射4"中,任务"通向自由"要求玩家到达名为"Freedom Trail Ring"的金属表盘,并使用表盘拼写特定关键词才能开门. ...

最新文章

  1. Maya与Substance Painter风格化材质阴影和照明学习教程
  2. 颤抖吧,打工人!深信服推出员工离职倾向、工作摸鱼监测系统!
  3. PHP 页面编码声明方法详解(header或meta)
  4. 使用Swagger2Markup实现API文档的静态部署(二):Markdown和Confluence
  5. 寒假每日一题(入门组)【week5 完结】
  6. ActiveMQ性能测试
  7. 企业千人千面管理模式_金山云助力新零售:如何让零售企业实现“千人千面”...
  8. UAV运动学方面的约束
  9. echarts设置主标题和副标题样式
  10. 2022-2028年全球及中国视频后期制作服务行业投资前景分析
  11. vi 和 vim 编辑器的使用
  12. 前端新手HTML入门
  13. Phonetic symbol 单元音 - 短元音 ɒ(新)/ ɔ(旧) 与 长元音 ɔː
  14. MongoDB启动shutting down with code:100处理
  15. mysql分组查询学生平均年龄_8.21MySQL(四)基本查询语句及方法、连表、子查询...
  16. 引用SMTH的一个“坑”!
  17. 【 Tomcat 】
  18. php传输文件大小修改的限制
  19. CES展会的技术亮点奠定2017年各个行业的基调
  20. 信息系统项目采购管理范文

热门文章

  1. Java-Tomcat 5.5 下的JNDI
  2. ICCV2021 微软CMU提出TACo:同时用三个损失函数进行多模态对齐!性能SOTA!
  3. CVPR2021 DRConv:即插即用!旷视孙剑、张祥雨团队提出动态区域感知的卷积,涨点显著!...
  4. 开源库 | 监控视频中的目标检测与跟踪
  5. “3D几何与视觉技术”全球在线研讨会第八期~识别3D中的物体和场景
  6. 全球首个!腾讯优图开源3D医疗影像大数据预训练模型
  7. 互联网java面试_互联网java面试宝典
  8. 带你详细了解机器视觉竞赛—ILSVRC竞赛
  9. 前端与java绘制三维图_使用HTML5 Canvas绘制三维波浪图算法和实现
  10. 这就是数据分析之Pandas与数据清洗