procedure2012
It's not worth it to know you're not worth it!

随笔分类 -  USACO

USACO做题记录
[USACO4.3.4 Letter Game]
摘要:[关键字]:枚举[题目大意]:给出每个字母的分数,//================================================================================================================[分析]:一开始想了半天hash也没想对,这题居然枚举就能做。虽然给出的字典很大,但是其实有用的词很少。只要在读入字典时判断一下是否是由给出的字符中的一些组成,然后之久枚举超找最大值和词组就行。[代码]:View Code /*ID:procedure2PROB:lgameLANG:C++*/#include<io 阅读全文
posted @ 2012-03-06 08:09 procedure2012 阅读(319) 评论(0) 推荐(0)
[USACO4.4.2 Pollutant Control]
摘要:[关键字]:图论 网络流[题目大意]:在一个网络里求一个割,而且要保证(1)、容量最小(就是最小割)。(2)、满足医(1)的情况小边最少。(3)、满足(1)(2)情况下边的字典序最小。//=========================================================================================================================================[分析]:第一二问可以将每个边的权值c改成C=c*(M+1)+1,然后在求最小割maxf。第一问答案就是maxf/(M+1)第二问答案就是 阅读全文
posted @ 2012-03-06 08:02 procedure2012 阅读(353) 评论(0) 推荐(0)
[USACO4.2.3 Job Processing]
摘要:[关键字]:贪心[题目大意]:有多个A机器和多个B机器N个需加工物品,每个物品序先被某一A机器再被某一B机器加工,每个A机器和B机器都有不同的加工时间,求出A机器所需最小时间和B机器最小时间。//================================================================================================================[分析]:首先只考虑A,肯定是贪心来求最小时间和。每次都选最小时间然后在这个最小时间上加上它初始的加工时间,这样可以求出每个物品的costA[i],A时间和的答案就是max(cos 阅读全文
posted @ 2012-03-06 07:34 procedure2012 阅读(443) 评论(0) 推荐(0)
[USACO5.2.2 Electric Fences]
摘要:[关键字]:随机化[题目大意]:有一些平行与坐标轴的线段,找一个点到各线段距离和最小。//==================================================================================================[分析]:先找一个起始点(左下)然后确定一个范围,在这个范围内找到最优值,然后以最优值坐标为起点缩小范围重复,直到范围小于要求的精度。[代码]:View Code #include<iostream>#include<cstdio>#include<cstdlib>#inclu 阅读全文
posted @ 2012-03-03 18:42 procedure2012 阅读(261) 评论(0) 推荐(0)
[USACO3.4.3 Electric Fences]
摘要:[关键字]:数学 解析几何[题目大意]:给出n,m,p,问由(0,0)(n,m)(p,0)围成的三角形型内部有几个由整数构成的点。//=============================================================================================[分析]:据说有个皮克定律可以解决,但是本菜不会……所以就用了最笨的解析几何去做。计算出(0,0)和(n,m)构成的直线的解析式是:y=(xm)/n;(n,m)和(p,0)的解析式是:y=(p-x)m/(p-n)然后枚举x,求出对应的y。然后就可算出x这条直线上有几个可以选的点。 阅读全文
posted @ 2012-03-03 18:34 procedure2012 阅读(325) 评论(0) 推荐(0)
[USACO4.1.4 Cryptcowgraphy]
摘要:[关键字]:搜索 剪枝[题目大意]:有一种加密方式:在一个字符串中加入‘C’‘O’‘W’,并把‘C’和‘O’中间的字符和‘O’和‘W’之间的字符交换,给出一个字符串,看是否是“Begin the Escape execution at the Break of Dawn ”经过加密(有可能多次加密)。//===============================================================================================[分析]:搜索题但是剪枝很恶心,每次都找一组C、O、W然后解密继续找直到找完所有情况或找到目标。有如下几 阅读全文
posted @ 2012-03-03 18:22 procedure2012 阅读(322) 评论(0) 推荐(0)
[USACO3.4.1 Closed Fences]
摘要:[关键字]:计算几何[题目大意]:给出N个点,先判断这些点能否构成一个边与边不相交的多边形,然后在判断站在给出点能看见哪几条边。//================================================================================================================================[分析]:第一问比较简单,只要判断规范相交就行了,利用叉积可以很容易的判断,祥见黑书。第二问可以用二分法解决,每次都找一条边的中点然后判断从给定点到中点是否和别的边相交,如果相交就二分判断能否看到左边或右边的部分 阅读全文
posted @ 2012-02-28 18:31 procedure2012 阅读(401) 评论(0) 推荐(0)
[USACO3.3.3 Camelot]
摘要:[关键字]:图论 搜索(有个BFS,有剪枝的思想)[题目大意]:有一个国王和若干个骑士,国王可以在某一个遇到骑士的点和骑士一起走,要求自己找一个集合点使所有人(骑士+国王)走到这个点的距离最小。//====================================================================================================[分析]:usaco的官方题解没看懂……自己也没做出来……我一开始的想法是先处理出每个点到所有骑士的距离和e[u],然后枚举起点u,枚举骑士接国王的点v,枚举哪个骑士接国王k,然后ans=min(e[u 阅读全文
posted @ 2012-02-26 20:17 procedure2012 阅读(396) 评论(0) 推荐(0)
[USACO3.3.2 Shopping Offers]
摘要:[关键字]:动态规划[题目大意]:你要买n种商品,每种买k件。同时有一些组合购买的优惠方案,问最小花费。//====================================================================================================[分析]:因为最多才有五种商品,每种最多5件,所以五维的动态规划完全可以接受。至于方程太麻烦了,不写了,代码里很清楚……[代码]:View Code /*ID:procedure2PROB:shoppingLANG:C++*/#include<iostream>#include& 阅读全文
posted @ 2012-02-26 19:58 procedure2012 阅读(187) 评论(0) 推荐(0)
[USACO3.2.5 Magic Squares]
摘要:[关键字]:搜索[题目大意]:给出一个魔版的目标状态,求利用A、B、C三种操作用最小步数有初始状态走到的序列(字典序最小)。//================================================================================================================[分析]:利用BFS扩展,Hash判重,还可用康托展开,但我不会……这个我是在不想说什么,就是超级简化版的八数码……[代码]:View Code /*ID:procedure2PROB:msquareLANG:C++*/#include<io 阅读全文
posted @ 2012-02-25 18:43 procedure2012 阅读(313) 评论(0) 推荐(0)
[USACO3.2.4 Feed Ratios]
摘要:[关键字]:数学 解方程组[题目大意]:给出一种目标饲料的比例,和三种其他饲料的比例,问用这三种饲料各多少能混合出目标饲料多少,要求总用量最小。//=============================================================================================================================================[分析]:其实一点都不难,以样例为例。目标为3:4:5,其余三种为1:2:3 3:7:1 2:1:2,设第一种用x,第二种用y,第三种用z,得到k目标。可得方程组:1x+ 阅读全文
posted @ 2012-02-25 18:33 procedure2012 阅读(400) 评论(0) 推荐(0)
[USACO3.2.3 Spinning Wheels]
摘要:[关键字]:模拟 枚举[题目大意]:有5个轮子,每个轮子优r个缺口并且会按一定速度不停转动,问什么时候可以使一条光线射过所有轮子。//======================================================================================================================================[分析]:从0到1000(或其他的)枚举分钟然后判断,当前分钟是否有解。如果有解就输出并结束否则继续直到枚举完所有分钟还没找到解就是无解的情况。usaco第3章还有这么水的题……[代码]:View 阅读全文
posted @ 2012-02-25 18:18 procedure2012 阅读(320) 评论(0) 推荐(0)
[USACO 4.4.1 Shuttle Puzzle]
摘要:[题目来源]:USACO 4.4.1[关键字]:数学[题目大意]:一个1*2n+1的棋盘,左边有n个白子,中间一个空格,右边n个黑子,求出将其交换的步骤。//==========================================================================================================[分析]:http://www.nocow.cn/index.php/USACO/shuttle[代码]:View Code 1 { 2 ID:x yr; 3 PROB:shuttle 4 LANG:PASCAL 5 } 6 v. 阅读全文
posted @ 2011-10-29 18:13 procedure2012 阅读(307) 评论(0) 推荐(0)
[USACO2.4.3 Cow Tours]
摘要:【题目】:Cow Tours【来源】:USACO【关键字】:图论 最短路径 floyd【题目大意】:将两个图用一条路径连接,使距离最远的两点的最短路径最小,求这个最短路径。//================================================================================================【分析】:一开始理解错题意了,还以为是位置最远的两个点...........先用floyd求出每两个点的最短路径,用r[i]记录所有i可到的点中最远点的距离。然后一一将两个不在一个图里的两点a,b相连,新的更大的图的直径就是r[a] 阅读全文
posted @ 2011-10-20 01:48 procedure2012 阅读(254) 评论(0) 推荐(0)
[USACO 3.3.1 Riding The Fences]
摘要:【题目】:Riding The Fences【来源】:USACO 3.3.1【关键字】:图论 搜索 欧拉//=====================================================================================================【分析】:就是找到一条欧拉路.有个问题一直不解:对于任意一个无向图,保证一定存在欧拉路.从随意一个可以做起点的点开始,任意走.是否可以走出一条欧拉路? 因该是这样,因为每条路都要走,只是顺序问题而已。【代码】:View Code 1 { 2 ID:x yr 3 PROB:fence 4 . 阅读全文
posted @ 2011-10-20 01:32 procedure2012 阅读(156) 评论(0) 推荐(0)
[USACO3.1.5 Contact]
摘要:[题目来源]:USACO 3.1.5[关键字]:字典树[题目大意]:求一个给定的字符串中,所有长度在a和b之间的所有子串的出现次数。并按要求输出最高的n个频率和在此频率下的所有子串。//=====================================================================================================[分析]:一开始毫无思路,就是暴力枚举,结果果断TLE。然后最近刚学了字典树,就用它来做,结果在N天后果断AC。其实很好想枚举每一个子串并加入字典树中,若果出现就吧出现次数加1,否则加入树中。知道枚举完所有。此题 阅读全文
posted @ 2011-10-18 00:01 procedure2012 阅读(237) 评论(0) 推荐(0)