USACO修理牛棚 Barn Repair

题目描述

在一个月黑风高的暴风雨夜,Farmer John 的牛棚的屋顶、门被吹飞了 好在许多牛正在度假,所以牛棚没有住满。
牛棚一个紧挨着另一个被排成一行,牛就住在里面过夜。有些牛棚里有牛,有些没有。 所有的牛棚有相同的宽度。
自门遗失以后,Farmer John 必须尽快在牛棚之前竖立起新的木板。他的新木材供应商将会供应他任何他想要的长度,但是吝啬的供应商只能提供有限数目的木板。 Farmer John 想将他购买的木板总长度减到最少。
给出 m,s,c,表示木板最大的数目、牛棚的总数、牛的总数;以及每头牛所在牛棚的编号,请算出拦住所有有牛的牛棚所需木板的最小总长度。

输入格式

一行三个整数 m,s,c,意义如题目描述。
接下来 c 行,每行包含一个整数,表示牛所占的牛棚的编号。

输出格式

输出一行一个整数,表示所需木板的最小总长度。

思路

贪心,我们可以先假设只有一块木板从编号最小的牛棚一直铺到编号最大的牛棚,然后断开m-1处,断差最大的,即可。

代码

#include<bits/stdc++.h>
using namespace std;
int a[1001],d[1001];
int cmp(int a,int b){return a>b;
}
int main()
{int m,c,s;cin>>m>>s>>c;for(int i=1;i<=c;i++)cin>>a[i];if(m>c){cout<<c<<endl;return 0;}sort(a+1,a+c+1);int ans=a[c]-a[1]+1;for(int i=1;i<=c;i++)d[i]=a[i+1]-a[i];sort(d+1,d+c+1,cmp);for(int i=1;i<=m-1;i++)ans=ans-d[i]+1;cout<<ans<<endl;return 0;
}

USACO修理牛棚 Barn Repair相关推荐

  1. P1209 [USACO1.3]修理牛棚 Barn Repair 的详解

    P1209 [USACO1.3]修理牛棚 Barn Repair [题目网站] [USACO1.3]修理牛棚 Barn Repair - 洛谷 [题目考点] 间隔的计算 [题目思路] 先输入数据 再算 ...

  2. K10837 修理牛棚 Barn Repair [USACO1.4]

    K10837 修理牛棚 Barn Repair [USACO1.4] 题目描述 在一个夜黑风高,下着暴风雨的夜晚,farmer John的牛棚的屋顶.门被吹飞了. 好在许多牛正在度假,所以牛棚没有住满 ...

  3. P1209 [USACO1.3]修理牛棚 Barn Repair

    在一个月黑风高的暴风雨夜,Farmer John 的牛棚的屋顶.门被吹飞了 好在许多牛正在度假,所以牛棚没有住满. 牛棚一个紧挨着另一个被排成一行,牛就住在里面过夜.有些牛棚里有牛,有些没有. 所有的 ...

  4. P1209 [USACO1.3]修理牛棚 Barn Repair(贪心+逆向思维)难度⭐⭐⭐

    我们可以先假设只有一块木板从编号最小的牛棚一直铺到编号最大的牛棚,然后断开m-1处.自然要按相邻牛棚的编号差从大到小断开才能使我们断开的地方可以有效节省木板长度(因为中间省去的要更多) 另外,要将输入 ...

  5. 修理牛棚 Barn Repair

    题目描述 在一个夜黑风高,下着暴风雨的夜晚,farmer John的牛棚的屋顶.门被吹飞了. 好在许多牛正在度假,所以牛棚没有住满. 牛棚一个紧挨着另一个被排成一行,牛就住在里面过夜. 有些牛棚里有牛 ...

  6. [USACO1.3]修理牛棚 Barn Repair

    https://www.luogu.org/problemnew/show/P1209 题解: 典型的贪心题目 我们可以先假设只有一块木板从编号最小的牛棚一直铺到编号最大的牛棚,然后断开m-1处.自然 ...

  7. P1209 [USACO1.3]修理牛棚 Barn Repair(贪心)

    题目描述 在一个夜黑风高,下着暴风雨的夜晚,farmer John的牛棚的屋顶.门被吹飞了. 好在许多牛正在度假,所以牛棚没有住满. 牛棚一个紧挨着另一个被排成一行,牛就住在里面过夜. 有些牛棚里有牛 ...

  8. 题解 洛谷P1209 【[USACO1.3]修理牛棚 Barn Repair】

    题面: 题目描述 在一个夜黑风高,下着暴风雨的夜晚,farmer John的牛棚的屋顶.门被吹飞了. 好在许多牛正在度假,所以牛棚没有住满. 牛棚一个紧挨着另一个被排成一行,牛就住在里面过夜. 有些牛 ...

  9. USACO1.3]修理牛棚 Barn Repair

    题目大意: 在一个夜黑风高,下着暴风雨的夜晚,farmer John的牛棚的屋顶.门被吹飞了. 好在许多牛正在度假,所以牛棚没有住满. 牛棚一个紧挨着另一个被排成一行,牛就住在里面过夜. 有些牛棚里有 ...

最新文章

  1. JavaScript 开发者数量暴涨、C# 超越 PHP,揭晓全球开发最新趋势!
  2. windows server 2008虚拟化技术一览
  3. Linux用户、群组管理
  4. bsdiff php,Apk差分升级Android客户端和Node.js服务端实现
  5. 高并发设计方案二(秒杀架构)
  6. activity-启动动画的设定(下面弹出出现,弹入下面消失)
  7. 嵌套字典|python_Python | 如果不是,则使用嵌套,根据销售额计算折扣
  8. php增加mysql索引_mysql怎么添加索引
  9. 自学成为程序员_成为程序员不需要的10件事
  10. golang select总结
  11. 学习python这门课的感受_关于我学习了编程小白的第一本Python入门书之后的感受 200110900207...
  12. WPF使用中知识点总结一
  13. 【语音合成】基于matlab GUI语音合成【含Matlab源码 293期】
  14. visual basic_什么是Visual Basic?
  15. 计算机财务模型管理实验内容,计算机财务管理实验报告详细分解.doc
  16. userdel: user xxx is currently used by process xxx
  17. Centos7下安装Relion
  18. Error starting ApplicationContext.
  19. ESP32小网关应用,嵌入式串口转以太网,支持蓝牙+wifi
  20. 通过LiveNVS(免费使用)集中化管理多个LiveNVR-数据透传摆脱局域网的公网IP限制

热门文章

  1. 如何看手相 男左女右(转)
  2. LeetCode-334. 递增的三元子序列 Python3版本
  3. Shell之计算命令、流程控制、函数
  4. 【商汤科技2019校招】计算机视觉研究员笔试
  5. linux云服务器空间爆满
  6. [Java反序列化]CommonsCollections3利用链学习
  7. css控制文字圆弧度排列,如何用css实现弧度圆角?三角形以及圆形
  8. 机械硬盘——电子计算时代的机电遗风
  9. 关于人工智能与人脑思维的辩证思考
  10. flow服务启动失败