题意分析:
C头奶牛在畜栏里(一个畜栏里最多只能有一头奶牛),畜栏共有S个,并告诉你哪些编号的畜栏里有奶牛。一共有M块板要将所有有奶牛的畜栏栏起来。因为奶牛分布的分散和板的数量的限制,势必有空着的畜栏也被栏起来。求所有被栏起来的畜栏的最小个数。
解题思路:
比上一题稍难的贪心法。题目分析清楚后,S个畜栏这个条件实际上在计算中是没用的。为了使被栏起来畜栏数目最小,即空着被栏起来的畜栏最少,那么就要尽量减少横跨两个有牛畜栏间连续无牛畜栏的个数。这题贪心的思路就是将两个有牛畜栏间连续无牛畜栏个数进行排序,也就是碰到最大的M-1个连续无牛畜栏时,多用一块板以避免覆盖到这些无牛畜栏。剩余较小的连续无牛畜栏则必须被计算进去,再加上C个有牛畜栏则为输出。
代码实现:
https://github.com/leonlu/USACOJavaSolution/blob/master/USACOSection1/src/barn1.java
C头奶牛在畜栏里(一个畜栏里最多只能有一头奶牛),畜栏共有S个,并告诉你哪些编号的畜栏里有奶牛。一共有M块板要将所有有奶牛的畜栏栏起来。因为奶牛分布的分散和板的数量的限制,势必有空着的畜栏也被栏起来。求所有被栏起来的畜栏的最小个数。
解题思路:
比上一题稍难的贪心法。题目分析清楚后,S个畜栏这个条件实际上在计算中是没用的。为了使被栏起来畜栏数目最小,即空着被栏起来的畜栏最少,那么就要尽量减少横跨两个有牛畜栏间连续无牛畜栏的个数。这题贪心的思路就是将两个有牛畜栏间连续无牛畜栏个数进行排序,也就是碰到最大的M-1个连续无牛畜栏时,多用一块板以避免覆盖到这些无牛畜栏。剩余较小的连续无牛畜栏则必须被计算进去,再加上C个有牛畜栏则为输出。
代码实现:
https://github.com/leonlu/USACOJavaSolution/blob/master/USACOSection1/src/barn1.java
发表评论
-
USACO Section 1.5.4 [Checker Challenge] Java题解
2011-07-15 23:16 1662题意分析: 该题是需要深度优化的八皇后问题,首先看一下,经典八 ... -
USACO Section 1.5.3 [Superprime Rib] Java题解
2011-07-15 22:24 1506题意分析: 7331是素数,733是素数,73是素数,7也是素 ... -
USACO Section 1.5.2 [Prime Palindromes] Java题解
2011-07-15 22:12 1412题意分析: 找出a和b间既对称既是素数的数。 解题思路: 用 ... -
USACO Section 1.5.1 [Number Triangles] Java题解
2011-07-15 21:21 754题意分析: 数字三角形,找到从顶到底的最大和的通路。 解题思 ... -
USACO Section 1.4.4 [Mother's Milk] Java题解
2011-07-15 18:57 1271题意分析: 有容量为A,B,C的三个牛奶桶,容量范围为1-20 ... -
USACO Section 1.4.3 [Arithmetic Progressions] Java题解
2011-07-15 16:38 1810题意分析: 定义算术级数:一种序列a, a+b, a+2b, ... -
USACO Section 1.4.2 [The Clocks] Java题解
2011-07-15 15:50 1923题意分析: 有编号为A-I的9个时钟,时钟只有指向3、6、9、 ... -
USACO Section 1.4.1 [Packing Rectangles] Java题解
2011-07-14 17:18 1862题意分析: 给出4个长方形的高和长,以及给出6种基本布局,求合 ... -
USACO Section 1.3.4 [Prime Cryptarithm] Java题解
2011-07-10 14:36 1415题意分析: 已知数字1-9组成集合的一个子集,求满足题意乘法步 ... -
USACO Section 1.3.3 [Calf Flac] Java题解
2011-07-10 14:35 1306题意分析: 一眼看上去,又是找对称的,不过有一些明显的干扰因素 ... -
USACO Section 1.3.1 [Mixing Milk] Java题解
2011-07-10 14:30 933题意分析: 牛奶收购站每天需要收购总量为N加仑牛奶,告诉你每天 ... -
USACO Section 1.2.5 [Dual Palindromes] Java题解
2011-07-08 21:49 885题意分析: 这题和上一题基本是一样的,输出N个大于S的Dual ... -
USACO Section 1.2.4 [Palindromic Squares] Java题解
2011-07-08 21:43 977题意分析: N固定为10进制的1-300,N的平方表示成B进制 ... -
USACO Section 1.2.3 [Name That Number] Java题解
2011-07-08 21:40 1291题意分析: 奶牛们原来只有由四个数字组成的编号,例如4734, ... -
USACO Section 1.2.2 [Transformations] Java题解
2011-07-08 21:37 832题意分析: 给定N*N的二维数组的变化前和变化后的情况,思考如 ... -
USACO Section 1.2.1 [Milking Cows] Java题解
2011-07-07 15:39 1272题意分析: 输入为N组 [900,1800],[1200,22 ... -
USACO Section 1.1.4 [Broken Necklace] Java题解
2011-07-06 20:41 1279题意分析: 一串项链,由红蓝白三种颜色的珠子串成。在某一点拆开 ... -
USACO Section 1.1.3 [Friday the Thirteenth] Java题解
2011-07-04 20:22 804题意分析: 已知1900年1月1日是周一(即1900年1月13 ... -
USACO Section 1.1.2 [Greedy Gift Givers] Java题解
2011-07-04 12:31 1062解题思路: 直接用String[]保持名字的顺序,Map< ... -
USACO Section 1.1.1 [Your Ride Is Here] Java题解
2011-07-04 11:23 1597众所周知,Java的运行效率大约比C/C++慢3倍左右。大多数 ...
相关推荐
从文件 barn1.in 中读入数据。 第 1 行: M , S 和 C(用空格分开) 第 2 到 C+1行: 每行包含一个整数,表示牛所占的牛棚的编号。 输出 输出到文件 barn1.out 中。 单独的一行包含一个整数表示所需木板的最小总长度。 ...
USACO所有题目的题解 NOCOW整理版
usaco测试数据+标程 usaco的section1到section5的所有测试数据 以及标准程序
USACO教程,包含USACO全部英文原题,题解(NOCOW整理版),翻译,教程,代码,测试数据。
适合USACO的Java选手参考
USACO题解+代码+翻译,好东西,超级齐全,对大家帮助不小,特别是现在nocow挂了
usaco的某道题的题解
我的USACO题解和程序
USACO1.4~2.3C语言题解 绝对能通过
USACO题解(NOCOW整理版).doc
Usaco总结&题解 一位大牛写的Usaco的总结,并有所有题的题解,推荐!!
usaco全部题解。 网址:blog.csdn.net/jiangshibiao
usaco section2.3--section5.5源程序。。。。。。。。。。。。。。。。
资源包包括USACO 2001-2007年月赛的测试数据;usaco月赛十年题典(2000-2009),usaco月赛2002-2008题解。单独下载需资源分30分以上。为了方便编程爱好者,我这边统一下载打包。欢迎下载。
丰富的USACO1.1--2.3.4的所有题解
USACO的偷懒程序
USACO题解及中文译题1.1.1-2.4.5 题目为TXT格式文档,代码为C++语言所编写
USACO月赛题解1
里面有usaco前几节的程序和代码,欢迎使用,希望对你有所帮主。
其中包含了USACO前些年的月赛试题和部分试题的数据,部分试题的详细题解,英文原题目与翻译后的题目,与题解一一对应