usaco
文章平均质量分 60
dweqd
这个作者很懒,什么都没留下…
展开
-
USACO 1.3 Barn Repair
这道题目根据贪心的思维,有两种思路1 首先在每个有牛的牛棚前放上木板,然后加上两个牛棚间距离较小的间隔,这样同时减少了木板的数目,当木板数目满足题目要求时,输出木板长度。2 先把最小的牛棚和最大的牛棚间都放上木板,然后逐一减去较大的牛棚间距离,同时增加了木板的数目,当达到原创 2011-09-13 17:57:27 · 456 阅读 · 0 评论 -
USACO 1.3 Calf Flac
初始时,存好字母,记录下每个字母在原字符串中的位置。然后暴力搜索,枚举回文中的中间位置判断回文。当然一定注意回文包含字母奇偶,需要分别进行判断。/* ID : acmerfi1 PROG : calfflac LANG : C++*/#includ原创 2011-09-14 14:10:38 · 497 阅读 · 0 评论 -
USACO 1.3 Mixing Milk
题目属于贪心的分类,我们当然可以按照贪心的一般思路,按照价格的高低首先进行从小到大的排序,然后进行选择。但是有必要进行排序吗?我们可以直接根据价格进行循环啊,题目给出了最大的价格,我们只需要进行这么一次循环,比较剩余的需要需要量和当前价格所对应的牛奶量进行比较,然后简单计算即可!原创 2011-09-13 17:44:01 · 355 阅读 · 0 评论 -
USACO 1.2 Dual Palindromes
进制转换,回文判断,暴力解法。/* ID: acmerfi1 PROG: dualpal LANG: C++ */#include #include #include #define MAX 100int N, S, sum1 = 0, sum =原创 2011-09-09 17:35:02 · 339 阅读 · 0 评论 -
USACO 1.2 Milking Cows
这道题被归为完全搜索一类,看到这道题目最初的想法就是先按照开始时间排序,然后通过比较逐一更新要求的两个数值复杂度是O(nlogn+n),程序较简单。这种方法时间复杂度较高,想到还可以通过哈希,只用一次循环就可以解决,时间复杂度为O(n)。O(nlogn+n)/*原创 2011-09-08 17:44:54 · 361 阅读 · 0 评论 -
USACO 1.2 Name That Number
这道题只要开始时将字母转换为对应的数字存在数组num中,然后把输入的数字分位存储在数组name中,最后将字典中的数据现根据num转化为数字,然后与name比较就可以了。/* ID: acmerfi1 LANG: C TASK: namenum*/#include原创 2011-09-09 11:20:41 · 406 阅读 · 0 评论 -
USACO 1.2 Transformations
此题就是纯模拟,根据题目中叙述的几种转换学出相应转换,进行比较就可以了,没什么需要特别注意的。/* ID: acmerfi1 PROG: transform LANG: C++*/#include #include #include #define MAX原创 2011-09-08 19:59:21 · 384 阅读 · 0 评论 -
USACO 1.2 Palindromic Squares
这道题目就是个进制的转换,简单回文的判断。/* ID: acmerfi1 PROG: palsquare LANG: C++*/#include #include #include #define MAX 100#define maxNum 300int原创 2011-09-09 14:38:46 · 303 阅读 · 0 评论 -
USACO 1.1 Greedy Gift Givers
此题属于被usaco分为杂题,即没有具体的现成的合适的算法,算法需要自己YY了。 杂题一般注重细节的考查,当然对于我这种菜鸟会出现各种细节的错误,是细节错误,不是bug,我编码能力很差,代码写完,改了三次才通过。错误之处代码注释里已标出。代码的前两处错误,主要在于写代码前没有想好原创 2011-08-03 09:58:38 · 337 阅读 · 0 评论 -
USACO 1.1 Broken Necklace
这道题中项链是环形的,我们可以把两条项链放在一起就可以省去数据处理取摸运算。我们可以设置两个关键变量sum_cur(记录断开处后边满足条件的序列) sum_pur(记录断开处前边满足条件的序列),题目一共有三种颜色的珠子。遇到白色珠子时白色珠子数目加一(sum_w++),sum_原创 2011-09-07 22:28:04 · 422 阅读 · 0 评论 -
USACO 1.1 Your Ride Is Here
作为用来熟悉 usaco的入门题目, 此题还是有些意思的,有些小问题写程序时还是要注意的。字符串的读取gets 平时读取字符串我们有时会用 gets 函数, 但是极不推荐使用这个函数,因为此函数可以无限读取,不会判断上限。gets(s), 会不管声明的字符数组 s原创 2011-08-02 15:57:12 · 432 阅读 · 0 评论 -
USACO 1.1 Friday the Thirteenth
此题大致思路就是计算出到每月13号时的总天数sum_day,再让sum_day%7就可以了。 但是一定注意题目中的细节,因为最后又加了一次12月份,就会超出给定的时间段,不要忘了将其减去,我第一次时就忘了。 对于这种题目新手一定自己动手写代码,编码力提高才会快。请看上海交大A原创 2011-08-06 10:43:27 · 369 阅读 · 0 评论 -
USACO 1.3 Prime Cryptarithm
开始时用数组对给出的数字加以标记,然后三位数 111--999 两位数11--99分别相乘加以判断。/* ID: acmerfi1 PROG: crypt1 LANG: C++*/#include #include #include #define MAX 1原创 2011-09-16 15:59:36 · 349 阅读 · 0 评论