USACO 1.4.2 The Clocks
这一个题目我还算是自豪吧,代码比以前写的好看一点,仅仅是因为几行代码的原因,但是这几行代码我觉得挺好的!具体是哪几行,看代码的注释,代码中唯一的一个错误就是判断一个数据是否为答案时竟然忘记判断了!!
LANG: C
ID: yylogoo2
PROG: clocks
/
#include&[……]
这一个题目我还算是自豪吧,代码比以前写的好看一点,仅仅是因为几行代码的原因,但是这几行代码我觉得挺好的!具体是哪几行,看代码的注释,代码中唯一的一个错误就是判断一个数据是否为答案时竟然忘记判断了!!
这是这一次做USACO目前唯一一个没做完的题目!第六种情况实在是不知道怎么写,我觉得最好还是不写最好,所以就没去写了。我也尝试了一下自己试着写写,结果写了最后一种情况竟然还不如不写的分数高!但是自己实在是不知道为什么,以前的代码这三行(最后一种情况)也是抄的,不是理解的,所以现在也就忘了……
[……]
我没找到什么很巧的方法,纯暴力搜索:
枚举100~999,10~99然后再分别进行判断,是各个数值否是在范围内,然后是否是输入输入的集合,如果都是ans递增,代码就是这样,犯了两个错误!
1、在比较是否属于全集时,我是判断如果都不属于才算不属于,即用的“与”进行连接,应用“或”连接,在有一个[……]
这一题是USACO所有题目中我最自豪的一个题目,首先因为大部分人的代码都是在小数后一位上,而我这个算法是O(n)的,所以非常的快。又因为这是我自己想出来的,而且思维角度比较独特,所以我甚为自豪!
但是我这个思路很难表达清晰。
想把它单独提出来作为一篇文章(http://zqynux.blog[……]
这一题想了好久才想起来以前是怎么做的,直接使用的贪心,首先假设只有一块木板,自然而然是从最小的到最大的全部盖上,此时假设值为ans,那么如果是两块木板,那两块木板之间隔的距离必定是整个牛棚中距离最远的两个牛之间的距离,也就是说答案等于:只有一块木板的长度减去一个最长间隔:ans-max(dis)[……]
这题是个纯贪心题,本来是打算使用快排的,想到考试时可能不允许使用快排,自己写又太麻烦了,所以我就懒得用快排了,题目的数据量也不是很大,直接使用数组进行排序就是!
当然没有什么明显的问题,一次AC,代码如下:
本来应该是很简单的一个题目,因为昨天才写前面一题(USACO 1.2.4 Palindromic Squares),就是使用那里写的一些子函数即可AC,但是因为现在是以学习为目的,所以自然是重写一次,但是重写同样的两个函数,却出现了不应该有的错误,具体错误如下:
这题硬搜就是,不过在提交前找到两个mistack:
这题我用的方法就是将dict.txt中的每一个字符串读出来,并判断是否满足输入的那个数字,如果满足输出就是。
我还有另外一个算法,就是首先根据输入的数字来确定范围,然后逐步缩小,最后确定到个数,但是很快就发现这是(我)无法实现的高难度算法。
再一个,我上面的那个算法要注意的是数的长度,最长是[……]