跳至正文

技术

USACO 1.5.1 Number Triangles

  • OI路程

  明显是一个动态规划,有两种思路,一种是至上而下的,一种是至下而上的,让我联想到了几个大国家的革命和改革,我支持改革,革命总是要留下一些历史痕迹,漏洞,所以我选择的是至下而上的改革。至下而上的DP有什么好处呢?好处多了,因为没有任何特殊情况要考虑,如果是至上而下的DP的话,首先有特殊情况,对于每一[……]

继续阅读

USACO 1.4.4 Mother's Milk

  • OI路程

  这一题经过反复的深思熟虑,使用三元数组作为牛奶桶中的牛奶,可以解决很多不必要的纠纷!这个题目充分体现了数据结构对算法影响力的巨大!如果不使用数组而使用三个变量作为参数传递的话,真的会很麻烦的,虽然程序大致的时间复杂度不会改变,但是其常数项会大大增加!所以这题的数据结构选择十分重要。
  我的思路就[……]

继续阅读

USACO 1.4.3 Arithmetic Progressions

  • OI路程

  算法应该是比较单纯的,先把所有的双平方数找出来,并排序;然后再比如双平方数num[i], num[i + 1],那么a = num[i], b = num[i + 1] – num[i] (num已经排序了),然后便利他们就是,唯一要注意的就是一个大的剪支,当a + (n – 1) b &gt[……]

继续阅读

USACO 1.4.2 The Clocks

  • OI路程

  这一个题目我还算是自豪吧,代码比以前写的好看一点,仅仅是因为几行代码的原因,但是这几行代码我觉得挺好的!具体是哪几行,看代码的注释,代码中唯一的一个错误就是判断一个数据是否为答案时竟然忘记判断了!!

  代码如下:
/
LANG: C
ID: yylogoo2
PROG: clocks
/
#include&[……]

继续阅读

[未完成]USACO 1.4.1 Prime Cryptarithm

  • OI路程

  这是这一次做USACO目前唯一一个没做完的题目!第六种情况实在是不知道怎么写,我觉得最好还是不写最好,所以就没去写了。我也尝试了一下自己试着写写,结果写了最后一种情况竟然还不如不写的分数高!但是自己实在是不知道为什么,以前的代码这三行(最后一种情况)也是抄的,不是理解的,所以现在也就忘了……
  [……]

继续阅读

USACO 1.3.4 Prime Cryptarithm

  • OI路程

  我没找到什么很巧的方法,纯暴力搜索:
  枚举100~999,10~99然后再分别进行判断,是各个数值否是在范围内,然后是否是输入输入的集合,如果都是ans递增,代码就是这样,犯了两个错误!
  1、在比较是否属于全集时,我是判断如果都不属于才算不属于,即用的“与”进行连接,应用“或”连接,在有一个[……]

继续阅读

USACO 1.3.3 Calf Flac

  • OI路程

  这一题是USACO所有题目中我最自豪的一个题目,首先因为大部分人的代码都是在小数后一位上,而我这个算法是O(n)的,所以非常的快。又因为这是我自己想出来的,而且思维角度比较独特,所以我甚为自豪!
  但是我这个思路很难表达清晰。
  想把它单独提出来作为一篇文章(http://zqynux.blog[……]

继续阅读

USACO 1.3.2 Barn Repair

  • OI路程

  这一题想了好久才想起来以前是怎么做的,直接使用的贪心,首先假设只有一块木板,自然而然是从最小的到最大的全部盖上,此时假设值为ans,那么如果是两块木板,那两块木板之间隔的距离必定是整个牛棚中距离最远的两个牛之间的距离,也就是说答案等于:只有一块木板的长度减去一个最长间隔:ans-max(dis)[……]

继续阅读

USACO 1.3.1 Mixing Milk

  • OI路程

  这题是个纯贪心题,本来是打算使用快排的,想到考试时可能不允许使用快排,自己写又太麻烦了,所以我就懒得用快排了,题目的数据量也不是很大,直接使用数组进行排序就是!
  当然没有什么明显的问题,一次AC,代码如下:

/
LANG: C
ID: yylogoo2
PROG: milk
/
#include&nbsp[……]

继续阅读