USACO 1.4-3.3题解
继续完成简要的题解。
最近做到了3.3,决定停一停,一方面是开始涉及计算几何,网络流等不太熟悉的算法,需要另外的学习;另一方面,很多题目超出了我目前的水平,有不少题目都是抄别人的程序的,还有三四道是直接提交别人的,这样下去效果得不到保证。原计划3月份做完第三章的,现在看来要提早开始学习更高级的算法并做另外的题库巩固了。但是我会杀回来的。
1.4
packrec实在没耐心写,甚至怎么模拟都没看懂
clocks搜索吧,原来写了洋洋洒洒百十来行的BFS超时了,后来看了题解后简单的DFS搞定,只是考虑一个时钟转90度转四次会回来所以最多枚举四次就行了。
ariprog暴力枚举,但是需要剪枝
milk3 DFS就行了
1.5
numtri是经典的DP题目
pprime也是枚举+剪枝的,需要构造一个回文数再判断是否是质数
sprime也是枚举,怎么那么多枚举+质数判断的题啊,好像比上几道都简单些
checker经典的N皇后,递归的经典例题,需剪枝,可以考虑对称的情况cut一些,我是看matrix67的位运算教程做的
2.1
castle总算来点算法了,用力的灌水吧,Floodfill,但是有点麻烦
frac1枚举吧
sort3贪心的解法,让人想到如果是普通的序列如何找最小的交换次数这一题
holstein也是DFS,文件名总是打错……
hamming也是枚举
2.2
preface我是交别人的,感觉比较麻烦,但是找出数学规律就行了
subset可以用DP
runround枚举
lamps貌似也是涉及数学的,头疼,cheat
2.3
prefix也是DP
nocows树形DP
zerosum用DFS就行了
money是背包问题的方案数
concom搜索吧,看清题意不难的
2.4
ttwo枚举就行了,原来以为人能正常走的,没想到和牛一样
maze1也是搜索,细节处理有些麻烦
cowtour图论最短路变形
comehome最短路
fracdec初赛出现过的分数化小数,只要被除数重复就是循环的了,原来还以为是商中有循环节呢,注意细节
3.1
agrinet裸的MST
inflate背包
humble枚举吧
rect1有点难,把矩形倒序漂浮如果遇到有矩形的则分成几块即可
connect也是cheat掉了,很烦的题目
stamps是DP啊,初赛考过给它写个BT的搜索然后让你填空
3.2
fact4高精度乘单精度的乘法模拟吧
kimbits巧妙的DP解最后递归找出方案
spin模拟吧,边界搞不清楚,于是又cheat了……
ratios据说是高斯消元,我用模拟
msquare是BFS+判重,类似与八数码,更类似的是我到现在也不知道这两题我错在哪,于是又是从抄别人的,判重可以用hash,不过对于这两题康托展开更方便
butter用SPFA吧
3.3
fence欧拉路
shopping五维的背包
camelot有点复杂的图论题,先要构造模型计算距离然后枚举出解,还要小小的cut,于是我又抄别人的了……
range有些类似与以前做过的一道Floodfill的题目,但是不太一样,可以用巧妙的DP解决
game1博弈啊,可以用区间DP解决
然后我的USACO就告一段落了,真正在做的是从1.23-3.24大概2个月的时间,看起来比较快但是对于我这种看题解翻译,还有很多抄别人的甚至拿别人的提交了好几题的来说,实在浪费了太多时间。
下一段时间会学习一些新的算法,包括网络流,计算几何,难一些的搜索,一些DP和其他图论等等,要学的东西真的很多,而且还要做一些基础的题目巩固hash等知识,现在hash,head等数据结构基本不会用。