这题和“山区建小学”除了输入不同,其他都一样。(解析可见我的上一篇随笔)

但是,这次我对dis[][]加了一个优化,画一下图就可明白。

 1 #include<cstdio>
 2 #include<cstdlib>
 3 #include<cstring>
 4
 5 const int N=310,M=35;
 6 int s[N],f[N][M],dis[N][N];
 7
 8 int mmin(int x,int y) {return x<y?x:y;}
 9 int main()
10 {
11     int n,m;
12     scanf("%d%d",&n,&m);
13     for (int i=1;i<=n;i++)
14       scanf("%d",&s[i]);
15     dis[1][0]=0;
16     for (int l=1;l<=n;l++)
17      for (int r=l;r<=n;r++)
18        dis[l][r]=dis[l][r-1]+s[r]-s[(l+r)>>1];
19     memset(f,63,sizeof(f));
20     f[0][0]=0;
21     for (int i=1;i<=n;i++)
22      for (int j=1;j<=m;j++)
23      {
24       if (j>i) {f[i][j]=0;continue;}
25       for (int k=j-1;k<i;k++)
26         f[i][j]=mmin(f[i][j],f[k][j-1]+dis[k+1][i]);
27      }
28     printf("%d\n",f[n][m]);
29     return 0;
30 }

转载于:https://www.cnblogs.com/konjak/p/5896860.html

【noi 2.6_162】Post Office(DP)相关推荐

  1. 【noi 2.6_2421】Exchange Rates(DP)

    题意:起始有1000元美元,给出N天美元与加拿大元的汇率.问N天内可以不停的兑换,每次兑换需要收取3%的手续费,问可以得到的最大的美元数. 解法:直接用2个变量存第 i 天时手中是美元和加拿大元的最大 ...

  2. 【noi 2.6_3531】判断整除(DP)

    题意:给一个正整数数列,可将其相加或相减,问是否有一个结果能被K整除. 解法:似上一题"糖果"的状态定义,f[i][j]表示是否有一个选了前 i 个数的结果模K余j. P.S. 可 ...

  3. 【NOI模拟赛】黑色大桥(DP优化,李超树)

    题面 时间限制:1s,空间限制:1024MB 题目描述 手拿咒刃砍金门,众神直呼不是人 椅子玩自定义咒刃,一路打到了第三关的银行,祂想在黑色大桥无伤看守者之前找点刺激的. 加了模组的银行极大.具体地说 ...

  4. 【NOIP 模拟题】[T1] 等差数列(dp)

    [题解][dp] [f[i][j]表示以i为结尾,j为公差的子序列个数] [要注意有负数,所以将公差+1000] #include<cstdio> #include<cstring& ...

  5. 【洛谷 P1070】道路游戏 (DP)

    题目链接 这题还是很好想的,看到\(90%\)的数据点时,我就知道要用\(n^3\)的算法(最后10分就算了吧) 然后,数据水,直接暴力\(n^3\)卡过了. 显然是道DP. 设\(f[i]\)表示第 ...

  6. 【UNR #6 B】机器人表演(DP)

    机器人表演 题目链接:UNR #6 B 题目大意 给你一个 01 串,然后要你往里面插入 k 个 0 k 个 1,保证每插一个 1 的时候 0 的个数都大于等于 1 的个数. 问你有能形成多少种不同的 ...

  7. 【nowcoder 186D / 19153】无限手套(DP)(生成函数)

    无限手套 题目链接:nowcoder 186D / 19153 题目大意 有 n 种物品,每个物品有一个权值 a,b,你选 x 个的费用就是 ax^2+bx+1,然后总费用是每类物品的费用的乘积. 然 ...

  8. wpf 客户端【JDAgent桌面助手】详解(二)桌面宠物制作详解

    目录区域: 业余开发的wpf 客户端终于完工了..晒晒截图(此文 由于当时没有开通csdn博客所以在博客园发了,后续文章都是csdn 首发奥) [晒视频了]业余开发wpf 客户端[JDAgent桌面助 ...

  9. 【ASP.NET Core】处理异常(上篇)

    [ASP.NET Core]处理异常(上篇) 参考文章: (1)[ASP.NET Core]处理异常(上篇) (2)https://www.cnblogs.com/tcjiaan/p/8461408. ...

  10. 【java8新特性】——默认方法(五)

    一.简介 默认方法是指接口的默认方法,它是java8的新特性之一.顾名思义,默认方法就是接口提供一个默认实现,且不强制实现类去覆写的方法.默认方法用default关键字来修饰. 默认方法可以解决的痛点 ...

最新文章

  1. json文件示例_Spark SQL - JSON数据集
  2. Android 11 修改libcore Cipher AS测试
  3. LeetCode 1805. 字符串中不同整数的数目(哈希set)
  4. 一步步手动实现热修复(二)-类的加载机制简要介绍
  5. 计算机网络项目——最小网元设计(阶段二)
  6. emmet插件使用(Css)
  7. Java基础---方法的重载(overload)+ 优先向上匹配原则
  8. OpenAI升级Codex,直接将书面语言转为计算机代码;区块链网站被黑客偷走6亿美元加密货币|极客头条...
  9. git使用报错: fatal: Couldn‘t find remote ref master的解决方法
  10. python构建网站flask_某课Python Flask实现构建视频网站
  11. [浅析]UE4关卡流
  12. 电视html转vga没有声音,解决传统VGA接口无声音输出的设备的制作方法
  13. 屏通触控大师(PM Designer)快速入门
  14. java短语音聊天室_实现一个简单的语音聊天室(源码)
  15. 【Hexo搭建个人博客】(八)添加背景效果(点击鼠标显示红心并浮现社会主义核心价值观)
  16. crucible-4.8.2更改mysql5.7数据库报错User ‘crucible‘ has exceeded the ‘max_questions‘ resource
  17. UVM:filed_automation
  18. android 信息(mms)的故事(五)-- 发彩信
  19. AutoIt软件说明
  20. 女人眼中最美的七种男人……

热门文章

  1. 春运来了,你的火车票备好了么?
  2. linux csi 摄像头,A20 linux(dragonboard)同时使用Parallel CSI Camera及UVC
  3. 性能测试--jmeter如何发送get请求【3】
  4. 中limit怎末用_Nginx配置——关于limit_conn_zone和limit_conn
  5. python opencv光流跟踪_Opencv Python版学习笔记(四)光流跟踪之Gunnar Farneback’s 算法...
  6. init函数的注意事项和细节
  7. linux麒麟安装磁盘分区,一种中标麒麟系统根分区扩容的实现方法技术方案
  8. oracle如何禁用索引,oracle 禁用索引
  9. Html图片懒加载动画,带加载进度的Web图片懒加载组件Lazyload
  10. android程序内置浏览器,Android 应用程序与浏览器