无界
If the only tool you have is a hammer, you tend to see every problem as a nail.
BlogJava | 首页 | 发新随笔 | 发新文章 | 联系 | 聚合 | 管理

2009年5月11日

USACO 终于做完了
用了大概一个半月的时间吧,当然中间有大概一个礼拜空着来着

这是第二次做USACO了,第一次是高中的时候,那个时候的题目跟现在的都不太一样,主要是顺序,而且那个时候是用PASCAL写的

但是高中的时候没有做完,卡在了Section 5之前,其实是因为很多东西不会,数学其实也不够好,至于理解的能力,不知道现在是不是也有所提高了

其实这次做的并不是非常顺利,我不是牛人,不可能一天扫10几道题目那种,然后每到题目半个小时就搞定

前面3个Section的题目还都不算是很难,都是训练型的,都是教你算法怎么用,从Section 4开始就有比较难的题目了,尤其是DP

DP从高中开始我就没有感觉,那时候就有人跟我说,只能多做题目,也许我现在做的还不够多吧,总感觉DP是很有用很有用的东西,所以一直想学好

不管怎么样,USACO总算是磕磕碰碰的做完了,应该在NoCow和Google的帮助下终于做完了

后面大部分题目我都看了解题报告,有些算法想得出,但是不知道该怎么应用到题目之上

现在发现这点才是最重要的,算法模块谁不会写啊,都可以提前写好一个放在那里,但是问题是怎么把这个算法应用到题目上

可能这就是所谓的建模吧,把题目变形一下,然后跟我们已知的算法联系起来

还有另外一种情况,这个题目的算法不是已知的任何算法,要自己去想的,这才是真正考验一个人算法素养的时候

就像TCO里面的题目,其实很多都是这样的,很少会给你一道题目让你直接去套一个算法的

可能原来我在这方面的理解就有偏差,我总认为,你把所有的常见算法都练熟了,所有的题目都可以横扫

但是问题就是,你能不能看得出来哪道题目用哪种算法

而且,就像DP这种题目,就算你看出来了,状态转移方程你也未必写的出来

总之还是学到了很多,虽然磕磕碰碰,但是做完了100道题还是会有收获的

不知道下一个目标是什么SGU呢,还是TCO

其实之所以喜欢USACO的一个原因就是他会告诉你测试数据,你可以很方便的Debug

像OJ这种,不告诉你测试数据的,如果遇到了WA,你就要想破脑袋去想你的程序哪里错了

而往往一个人自己看自己的程序的时候,是很难发现错误的,这就会让人很郁闷,真的是非常郁闷

更何况,有些OJ真的是很贱的,用一些超级恶心的数据来钻你的空子。

不知道这样对不对,也许是考验你的细心程度吧

SGU or TCO 呢?

posted @ 2009-05-11 09:27 杨磊 阅读(1241) | 评论 (1) | 编辑 收藏
 
USACO Section 5回顾
TEXT Convex Hulls 突包
PROB Fencing the Cows  突包问题,直接忽略,差不多所有的计算几何我都跳过了
PROB Starry Night  超级麻烦题,用Flood Fill把所有的pattern全认出来,然后判断重复,不重复就添加新的
PROB Musical Themes  DP题,技巧在于如果两个序列是theme,那么相邻的两个number差相等
PROB Snail Trail  DFS,没啥技巧
PROB Electric Fences  刚开始以为是Divide&Conquer,后来发现跟那道题不一样,直接搜索就可以
PROB Wisconsin Squares  搜索题,Testcase只有sample那一组
TEXT Heuristics & Approximate Searches 启发式搜索,没看
PROB Milk Measuring  一道我看Analysis看了两天的DP,其实还是没有深刻理解
PROB Window Area  可以用矩形切割过
PROB Network of Schools  强连通分量题
PROB Big Barn  最大子正方形,简单的DP
PROB All Latin Squares  搜索+剪枝
PROB Canada Tour  诡异的DP算法,Analysis的那个DP倒是还可以接受,不过Nocow上的似乎需要证明,但是又没有
PROB Character Recognition  这道题目都能用DP,不得不感叹DP的伟大
PROB Betsy's Tour  又是搜索+剪枝
PROB TeleCowmunication  先把点转化成边,然后求最小割
PROB Picture  离散化
PROB Hidden Passwords  搜索+KMP优化
PROB Two Five  算是道难题吧,Analysis都看了好久,DP真是无所不能

第六个Section的就不写了,两个DP+一个牛叉的位运算

那个Cow XOR我估计我这辈子都不会忘记了。

posted @ 2009-05-11 09:16 杨磊 阅读(594) | 评论 (1) | 编辑 收藏
 
USACO Section 4回顾
TEXT Optimization Techniques 讲怎么剪枝的
PROB Beef McNuggets  初看上去像是一道背包问题,但是用背包肯定超时,后来看了解题报告,发现原来是数学题
PROB Fence Rails  高维背包问题,只能搜索
PROB Fence Loops  其实是很简单的一道最短路问题,恶心就恶心在图的转化
PROB Cryptcowgraphy  非常恶心的搜索+剪枝
TEXT "Network Flow" Algorithms 网络流,我第一次会写网络流就是看了这个算法
PROB Drainage Ditches  网络流练习题
PROB The Perfect Stall  最大匹配,匈牙利算法
PROB Job Processing  第一问是贪心,第二问应该也还是贪心,就是把第一问最快做完的给第二问最慢做完的
PROB Cowcycles  直接枚举的好像
TEXT Big Numbers 高精度
PROB Buy Low, Buy Lower  经典DP,最长下降序列,可是问题是要求出现了多少次,于是我看了解题报告
PROB The Primes  搜索+剪枝,要注意搜索的顺序,先是第五行第五列,然后对角线,然后其他
PROB Street Race  关键路径,去掉每一个节点,然后看看起点与终点是否连通,不联通总说明是关键节点
PROB Letter Game  枚举,分两块,先找完整的单词,然后找pair
PROB Shuttle Puzzle  刚开始以为搜索,后来看了解题报告,发现原来有规律的,寒啊
PROB Pollutant Control  最小割问题
PROB Frame Up  搜索题,用一张表来维护每个pattern的上下关系,可以大量剪枝
posted @ 2009-05-11 08:52 杨磊 阅读(373) | 评论 (0) | 编辑 收藏
 
随笔:99 文章:-1 评论:17 引用:0
<2009年5月>
日一二三四五六
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

留言簿(1)

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔分类

  • ACM(43) (rss)
  • Boost(5) (rss)
  • 开发感言(2) (rss)
  • 心情日记(3) (rss)

随笔档案

  • 2009年5月 (12)
  • 2009年4月 (26)
  • 2009年3月 (5)
  • 2009年2月 (7)
  • 2009年1月 (1)
  • 2008年12月 (1)
  • 2008年11月 (4)
  • 2008年10月 (1)
  • 2008年8月 (10)
  • 2008年7月 (1)
  • 2008年6月 (7)
  • 2008年5月 (16)
  • 2008年4月 (3)
  • 2008年3月 (2)
  • 2008年2月 (1)
  • 2007年12月 (1)

相册

  • BlogPicture

搜索

  •  

最新评论

  • 1. re: Boost Thread学习笔记三
  • Mediator的构造函数也许缺少一句如下:
    for ( int i = 0; i < _slotCount; i++ ) _pSlot[i] = NULL;
  • --Harly
  • 2. re: SGU 102
  • 博主这个代码的原理是什么啊?看不大懂欸
  • --lph
  • 3. re: Boost Thread学习笔记五
  • 确实厉害
  • --12
  • 4. re: USACO 终于做完了
  • TOPCODER的数据更坑爹。各种challenge会导致各种刁钻数据都被选手钻研出来了
  • --cot
  • 5. re: 各种话题
  • 评论内容较长,点击标题查看
  • --zvin

Powered by: 博客园
模板提供:沪江博客
Copyright ©2025 杨磊