跳至正文

技术

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[……]

继续阅读

USACO 1.2.5 Dual Palindromes

  • OI路程

  本来应该是很简单的一个题目,因为昨天才写前面一题(USACO 1.2.4 Palindromic Squares),就是使用那里写的一些子函数即可AC,但是因为现在是以学习为目的,所以自然是重写一次,但是重写同样的两个函数,却出现了不应该有的错误,具体错误如下:

  1、在循环之后忘记更改循环变量[……]

继续阅读

USACO 1.2.4 Palindromic Squares

  • OI路程

  这题硬搜就是,不过在提交前找到两个mistack:

  1、没审清楚题目,题目只要求平方是回文数,而没有要求那个数自身也是个回文数,我以为那个数自身也是回文数。
  2、在转换进制的时候,犯了一个超级低级的错误,把进制顺着使用了,也就是说比如13的二进制是:1101,而我的程序做出来就是1011,弄[……]

继续阅读

USACO 1.2.3 Name That Number

  • OI路程

  这题我用的方法就是将dict.txt中的每一个字符串读出来,并判断是否满足输入的那个数字,如果满足输出就是。
  我还有另外一个算法,就是首先根据输入的数字来确定范围,然后逐步缩小,最后确定到个数,但是很快就发现这是(我)无法实现的高难度算法。
  再一个,我上面的那个算法要注意的是数的长度,最长是[……]

继续阅读

USACO 1.2.2 Transformations

  • OI路程

  这题没什么别的巧,就是硬搜,我犯的唯一一个错误就是使用了strcmp来进行判断,但是又没有给字符串设置结尾标识’\0’,幸运的是我在提交前查出来了,所以还是一次性提交成功,哈哈 !代码如下:

/
LANG:
C
ID: logoo2
PROG:
transform
/
#include <stdio.[……]

继续阅读

USACO 1.2.1 Milking Cows

  • OI路程

  这一次刷题目纯粹是为了Noip的复赛,因为不知道Noip复赛是否能够使用qsort函数,所以就只能自己写了,在函数实现方面出现了不少错误,原计划时提交一次就AC的,但是却提交了4次,下面先贴出思路,再贴出具体的错误。
  现将程序按照开始的时间进行一次排序,然后对排序后的数组进行一次迭代(far[[……]

继续阅读