http://www.lydsy.com/JudgeOnline/problem.php?id=3405

n个牛棚,n-1段

因为要求距离尽量大,而且尽可能多的为d

所以:

第1个牛棚一定在位置1

最后一个牛棚一定在位置s

每段距离不是d就是d+1

有s-(n-1)*d-1段 d+1,其余段距离为d

dp[i][j] 表示前i个牛棚,有j段距离为d+1

那么第i个牛棚的位置就是d*(i-1)+j+1

第i个牛棚要么与上一个距离为d,要么距离为d-1

所以转移方程为 dp[i][j]=min(dp[i-1][j],dp[i-1][j-1])+abs(pos[i]-(i-1)*d-j-1);

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>using namespace std;#define N 1501int dp[N][N];int pos[N];void read(int &x)
{x=0; char c=getchar();while(!isdigit(c)) c=getchar();while(isdigit(c)) { x=x*10+c-'0'; c=getchar(); }
}int main()
{int n,s;read(n); read(s);for(int i=1;i<=n;++i) read(pos[i]);int d=(s-1)/(n-1);int m=s-(n-1)*d-1;sort(pos+1,pos+n+1);memset(dp,63,sizeof(dp));dp[1][0]=pos[1]-1;for(int i=2;i<=n;++i){dp[i][0]=dp[i-1][0]+abs(pos[i]-d*(i-1)-1);for(int j=1;j<=m && j<i;++j) dp[i][j]=min(dp[i-1][j],dp[i-1][j-1])+abs(pos[i]-(i-1)*d-j-1);}cout<<dp[n][m];
}

转载于:https://www.cnblogs.com/TheRoadToTheGold/p/8072009.html

bzoj千题计划152:bzoj3405: [Usaco2009 Open]Grazing2 移动牛棚相关推荐

  1. BZOJ 2150. 部落战争(最小路径覆盖问题)【BZOJ千题计划】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 刷题就图一乐 题目链接 https://hydro.ac/d/bzoj/p/2150 是 hydro ...

  2. BZOJ 2151 种树(可反悔贪心,链表)【BZOJ千题计划】就图一乐

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 题目链接 https://hydro.ac/d/bzoj/p/2151 是 hydro 的 BZOJ ...

  3. BZOJ 1799 [Ahoi2009] self 同类分布(数位DP)【BZOJ千题计划(quexin】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 题目链接 https://hydro.ac/d/bzoj/p/1799(样例时限设置有问题,应该为 2 ...

  4. bzoj千题计划143:bzoj1935: [Shoi2007]Tree 园丁的烦恼

    http://www.lydsy.com/JudgeOnline/problem.php?id=1935 二维偏序问题 排序x,离散化树状数组维护y #include<cstdio> #i ...

  5. bzoj千题计划207:bzoj1879: [Sdoi2009]Bill的挑战

    http://www.lydsy.com/JudgeOnline/problem.php?id=1879 f[i][j] 表示匹配了i个字符,匹配字符串的状态为j的方案数 枚举下一个字符是什么 计算加 ...

  6. bzoj千题计划203:bzoj3994: [SDOI2015]约数个数和

    http://www.lydsy.com/JudgeOnline/problem.php?id=3994 设d(x)为x的约数个数,给定N.M,求 用到的一个结论: 证明: 枚举n的约数i,枚举m的约 ...

  7. bzoj千题计划280:bzoj4592: [Shoi2015]脑洞治疗仪

    http://www.lydsy.com/JudgeOnline/problem.php?id=4592 注意操作1 先挖再补,就是补的范围可以包含挖的范围 SHOI2015 的题 略水啊(逃) #i ...

  8. bzoj千题计划201:bzoj1820: [JSOI2010]Express Service 快递服务

    http://www.lydsy.com/JudgeOnline/problem.php?id=1820 很容易想到dp[i][a][b][c] 到第i个收件地点,三个司机分别在a,b,c 收件地点的 ...

  9. bzoj千题计划303:bzoj4827: [Hnoi2017]礼物

    https://www.lydsy.com/JudgeOnline/problem.php?id=4827 式子化简一下,发现最后只跟 Σ xi*yi 有关 第二个序列反转,就可以用FFT优化 注意: ...

  10. bzoj千题计划248:bzoj3697: 采药人的路径

    http://www.lydsy.com/JudgeOnline/problem.php?id=3697 点分治 路径0改为路径-1 g[i][0/1] 和 f[i][0/1]分别表示当前子树 和 已 ...

最新文章

  1. python画柱形图-python绘制双柱形图代码实例
  2. 机器学习知识点(三十一)LDA数学八卦
  3. python数据结构的列表_Python数据结构之列表
  4. linux基础—课堂随笔_03 SHELL脚本编程基础
  5. This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its 错误解决办法
  6. 7-2 最大流 加强版 (20 分)
  7. 连接本地虚拟机和数据库很慢
  8. 【linux高级程序设计】(第八章)进程管理与程序开发 4
  9. 蓝桥杯 ADV-77 算法提高 统计平均成绩
  10. CSS样式布局入门介绍,非常详尽
  11. 微程序控制器的组成及原理总结
  12. 添加 identity impersonate=true userName=username password=password/,解决问题!
  13. dev的pdf Viewer打印如何从横向打印修改为竖向靠上打印?
  14. php mysql stmt_PHP mysqli_stmt_init() 函数 | 菜鸟教程
  15. 一文读懂ssh,tomcat,LANP,LNMP,ftp,dns等常见的环境配置(运维工程师必看)
  16. php双线切换线路,双线双路和断线自动切换
  17. stm32F107VC通过模拟SPI方式读取LIS3DH三轴加速度传感器数据
  18. web前端不用怕,外卖平台的项目开发流程,大全!!
  19. 详细说明如何在pycharm不联网的情况下,离线安装第三方库及依赖包(如sklearn)
  20. 有哪些值得推荐的 Python 开发工具

热门文章

  1. 嵌入式linux增加root权限,Ubuntu12.04 添加新用户并增加管理员权限
  2. c++ 实现一个object类_一个Java类就能实现微服务架构的权限认证
  3. Solr 4.10.3 导入 Mysql 数据
  4. Linux 查找进程与结束进程
  5. 详细配置swagger2
  6. python获取url参数_python测试开发django(4)--获取url参数和name的作用
  7. 修改PHP上传文件的大小限制(post)
  8. thinkphp3.2.3 bug集锦
  9. Mysql查询性能优化
  10. 小论坛 之Linux服务器搭建Apache PHP mysql 环境