USACO Section1.3 Barn Repair 解题报告
barn1解题报告 —— icedream61 博客园(转载请注明出处)
------------------------------------------------------------------------------------------------------------------------------------------------
【题目】
有一列牛棚,编号从1到S,相邻的牛棚紧挨着(间距为0),每个牛棚长度是一个单位。
其中有C头牛,分别在各自的牛棚中,不存在多个牛挤在一个牛棚的情况。
现在下雨了,可是顶棚被刮飞了,于是John需要买些板子给牛棚安上暂时过夜。
木材供应商比较坏,板子长度随便选,但最多卖N块。因此John需要考虑如何买,才能在保护到所有牛的前提下,让板子的长度尽量短。
【数据范围】
1<=M<=50
1<=S<=200
1<=C<=S
牛所在牛棚的编号保证合法。
【输入样例】
4 50 18
3
4
6
8
14
15
16
17
21
25
26
27
30
31
40
41
42
43
【输出样例】
25
------------------------------------------------------------------------------------------------------------------------------------------------
【分析】
将相邻牛棚的间距都求出来,共C-1个。
降序排序,把前N-1个减去,就是最后答案了。
当然,如果不足N-1个,那就都减去就好了。
------------------------------------------------------------------------------------------------------------------------------------------------
【总结】
遗漏了一种情况。
忘记了间距可能不足N-1个,于是WA(Wrong Answer)了。
------------------------------------------------------------------------------------------------------------------------------------------------
【代码】
/*
ID: icedrea1
PROB: barn1
LANG: C++
*/ #include <iostream>
#include <fstream>
using namespace std; void qsort(int a[],int l,int r)
{
if(l>=r) return;
int i=l,j=r,x=a[(l+r)>>];
while()
{
while(a[i]<x) ++i;
while(a[j]>x) --j;
if(i>j) break;
swap(a[i],a[j]);
++i; --j;
}
qsort(a,l,j); qsort(a,i,r);
} int main()
{
ifstream in("barn1.in");
ofstream out("barn1.out"); int M,S,C;
int site[],cha[];
int sum; in>>M>>S>>C;
for(int i=;i<=C;++i) in>>site[i];
qsort(site,,C);
sum=site[C]-site[]+; for(int i=;i!=C;++i) cha[i]=site[i+]-site[i]-;
qsort(cha,,C-);
for(int i=C-;--M&&i>=;--i) sum-=cha[i]; out<<sum<<endl; in.close();
out.close();
return ;
}
USACO Section1.3 Barn Repair 解题报告的更多相关文章
- USACO Section1.5 Prime Palindromes 解题报告
pprime解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...
- USACO Section1.5 Superprime Rib 解题报告
sprime解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...
- USACO Section1.5 Number Triangles 解题报告
numtri解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...
- USACO Section1.4 Arithmetic Progressions 解题报告
ariprog解题报告 —— icedream61 博客园(转载请注明出处)-------------------------------------------------------------- ...
- USACO Section1.3 Combination Lock 解题报告
combo解题报告 —— icedream61 博客园(转载请注明出处)---------------------------------------------------------------- ...
- USACO Section1.3 Prime Cryptarithm 解题报告
crypt1解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...
- USACO Section1.3 Mixing Milk 解题报告
milk解题报告 —— icedream61 博客园(转载请注明出处)----------------------------------------------------------------- ...
- USACO Section1.2 Palindromic Squares 解题报告
palsquare解题报告 —— icedream61 博客园(转载请注明出处)------------------------------------------------------------ ...
- USACO Section1.2 Dual Palindromes 解题报告
dualpal解题报告 —— icedream61 博客园(转载请注明出处)-------------------------------------------------------------- ...
随机推荐
- 《转化:提升网站流量和转化率的技巧》:结合市场营销六阶段理论,以SEM为手段,提高网站转化率的技巧
全书结合市场营销的六阶段理论,讲述各阶段的营销方面的要点和网站上吸引访客的技巧.举了一些例子,列举了一些工具.当然都是美国市场中的例子和网站优化的工具. 没有太多的新意.没看过相关图书的可以看看.
- jmter安装配置
一 JMeter 简介 JMeter 它是Apache组织的开放源代码项目,它是现在比较流行的功能和性能测试的工具.JMeter requires a fully compliant JVM 7 or ...
- naive bayes classifier in data mining
https://www-users.cs.umn.edu/~kumar001/dmbook/slides/chap4_naive_bayes.pdf -- textbook https://www. ...
- Linux常用命令之文件和目录操作命令
以下是linux操作系统常用的文件和目录操作命令: cd /home 进入 '/ home' 目录' cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd 进入个人的主目录 cd ...
- IOS 打开照相机 打开相册
/** * 打开照相机 */ - (void)openCamera { if (![UIImagePickerController isSourceTypeAvailable:UIImagePicke ...
- 委托代码func和Action的基本用法
这是微软简化后的委托写法,其中,func适合带返回参数的方法调用,action适合没有返回参数的方法调用 FUNC方法代码: public string GetPeopleInfo(string na ...
- 基于ASP.NET WPF技术及MVP模式实战太平人寿客户管理项目开发(Repository模式)
亲爱的网友,我这里有套课程想和大家分享,假设对这个课程有兴趣的.能够加我的QQ2059055336和我联系. 课程背景 本课程是教授使用WPF.ADO.NET.MVVM技术来实现太平人寿保险有限公司 ...
- 2019.03.09 ZJOI2019模拟赛 解题报告
得分: \(20+0+40=60\)(\(T1\)大暴力,\(T2\)分类讨论写挂,\(T3\)分类讨论\(40\)分) \(T1\):天空碎片 一道神仙数学题,貌似需要两次使用中国剩余定理. 反正不 ...
- C#中 property 与 attribute的区别?
C#中 property 与 attribute的区别?答:attribute:自定义属性的基类;property :类中的属性
- http状态码有那些,分别代表什么意思
http1.0和2.0的区别https://blog.csdn.net/linsongbin1/article/details/54980801/ 简单版: 100 Continue ...