2012年5月26日

3.1.1 Agri-Net

摘要: 发现前面有一堆类似dfs的题目,做多了有点烦,就直接跳到后面看看,发现这题最小生成树,刚好前几天看书看到,就拿来做做,但很不顺利的wa了,找了很久bug也不知道。终于在某次中发现了,原来我直接用x了,竟然能对6个case,可怕!改了后果断ac,经典prim算法,我就不说了,自己看书去。View Code 1 #include<stdio.h> 2 #include<string.h> 3 #include<math.h> 4 #include<stdlib.h> 5 #define max(a,b) a>b?a:b 6 #define mi 阅读全文

posted @ 2012-05-26 23:49 usp10 阅读(229) 评论(0) 推荐(0) 编辑

2012年5月25日

2.1.3 Sorting a Three-Valued Sequence

摘要: 刚开始我以为是道难题,后来就想直接模拟算了吧,就记录下1 2 3的个数,分成了3个区间,然后先找1区间中的2,2是从2区间到3的找,找3就从3区间到2区间的找,这样一来1区间就全部是1了,找2区间中的3就没压力了。大概思路就这样。View Code 1 #include<stdio.h> 2 #include<string.h> 3 #include<math.h> 4 #include<stdlib.h> 5 #define max(a,b) a>b?a:b 6 #define min(a,b) a>b?b:a 7 #define 阅读全文

posted @ 2012-05-25 14:08 usp10 阅读(162) 评论(0) 推荐(0) 编辑

2012年5月24日

2.1.1 The Castle

摘要: 写了几天的程序。麻烦啊,这条题目,要求找出的东西很多,房间数,最大房间,推墙后最大房间,推到那个墙,一开始构图啊,搞死我了,开了结构体什么的,搞了许久发现搞不出啊,就想啊想,看到了这里是2进制,后来就之间输入了数字先,后面再进行4面墙的判断,上网看到是并查集和bfs,就写了起来,发现写起来很麻烦,并且wa,后来一决心把程序删掉重新写了一条,不用并查集,用了种子填补法,标记每个房不同的标记,最后遍历图来统计,开个v数组开保存不同标记的大小,表示那个房间的大小。 重写后感觉顺畅多了,写起来除了小漏洞一气呵成。提交上去拿了个90分,一看错了一个,悲剧,查找了许多,发现v数组开太小了,我悲催,总之,. 阅读全文

posted @ 2012-05-24 20:22 usp10 阅读(162) 评论(0) 推荐(0) 编辑

2012年5月17日

1.4.3 Arithmetic Progressions

摘要: 好悲剧的一题啊,虽然时间给出了很多秒,可是超时啊,各种wa啊,主要是范围的问题,例如公差的范围,首项的范围,题解找了好久终于找到了范围,搞死我了,要写过一个更好的写法,这种枚举太费事了、、、View Code 1 #include<stdio.h> 2 #include<string.h> 3 #include<math.h> 4 #include<stdlib.h> 5 #define INF 0x3f3f3f3f 6 #define Maxin 10000 7 int s[500000],q=0; 8 9 int m;10 int find( 阅读全文

posted @ 2012-05-17 15:58 usp10 阅读(174) 评论(0) 推荐(0) 编辑

2012年5月16日

1.4.4 Mother's Milk

摘要: 这题之前刚接触可以说毫无思路,以为是数学题目,最近做usaco又遇到,check了下百度发现是dfs题,大概了解怎么做了,就写下了代码,调试了一阵子,主要是因为他们之间互相倒的时候值得变化处理比较麻烦,样例也没过,调了下就好,转移总共就6种情况,a->b,a->c,b->a,b->c,c->a,c->b;全部都dfs一次就可以了!dfs三个值代表此时杯中有的牛奶量。View Code 1 #include<stdio.h> 2 #include<string.h> 3 #include<math.h> 4 #include 阅读全文

posted @ 2012-05-16 13:48 usp10 阅读(2034) 评论(0) 推荐(0) 编辑

2012年5月15日

1.5.1 Number Triangles

摘要: 简单dp,从底部开始,找每个数字下面2个数字中较大的和自己相加,到最后map(0,0)就是答案,代码如下View Code 1 #include<stdio.h> 2 #include<string.h> 3 #include<math.h> 4 #include<stdlib.h> 5 #define INF 0x3f3f3f3f 6 #define Maxin 10000 7 int map[1010][1010]; 8 int main() 9 {10 int x,y,z;11 scanf("%d",&z);12 阅读全文

posted @ 2012-05-15 13:29 usp10 阅读(140) 评论(0) 推荐(0) 编辑

2012年5月14日

1.4.2 The Clocks

摘要: 一题被大家都说简单的搜索题目,我竟然花了n天,写出一个超时的代码,悲剧啊!但现在我还不懂为什么我那个是错的,按想法上说我那个是对的吧。http://sznoi.cn/oj/ShowProblem?problemid=u015 题目的链接给出,是一个dfs题目吧。就按每个操作最多进行3次操作,因为4次会复原。然后9个枚举,搜索,最终得出答案。这题让我纠结很久,看我了我搜索的弱,要做多2道这类型才可以啊!View Code 1 #include<stdio.h> 2 #include<string.h> 3 #include<math.h> 4 #include 阅读全文

posted @ 2012-05-14 13:13 usp10 阅读(188) 评论(1) 推荐(0) 编辑

2012年5月12日

usaco 1.1.4 Broken Necklace

摘要: 给一串链子颜色出来,从某处断开,往两边找同颜色的珠子,两边可以不同颜色,遇到白色可以化为自己颜色,求最多。最简单就是直接暴力,两边找,不过要注意防止他不断循环,例如全部同一颜色不多加判断就会死循环。我是找的时候顺便让她不超过另一边的珠子的坐标。View Code 1 #include<stdio.h> 2 #include<string.h> 3 #include<math.h> 4 #include<stdlib.h> 5 #define INF 0x3f3f3f3f 6 #define Maxin 10000 7 int main() 8 { 阅读全文

posted @ 2012-05-12 18:40 usp10 阅读(123) 评论(0) 推荐(0) 编辑

poj1088 滑雪问题 dp写法

摘要: 今早写了个滑雪的dfs,被大神说学不会dp,我就看了下他的题解,发现给了提示后想想还真的可以这样写,大神博客连接给出:http://www.cnblogs.com/LyonLys/archive/2012/04/27/poj_1088_Lyon.html如他的提示,先对高度排个降序,然后就从最低的开始dp他,找到一个比他小的就自己+1,当然要先跟自己本身对比下才更新。然后就a了,但是怎么时间那么慢啊,要32ms,dfs那个0ms,这个可是线性的。。表示不懂。。。做了下测试,发现是服务器问题,今早0ms,现在32ms。10185504liang199251088Accepted304K32MSC 阅读全文

posted @ 2012-05-12 00:42 usp10 阅读(426) 评论(0) 推荐(0) 编辑

2012年5月11日

poj1088 滑雪问题 dfs写法

摘要: 这题刚开始我想到的是搜索,但是超时了,所以要进行优化,听说这是dp经典题,当时就疯了,dp才初学,想到的是dp[i,j]=max(dp[四个方向]);lyon大神说不用递归,排序就好,不懂啊,我可耻的递归了,等等再学习学习!我晕啊,发现我这个原来是用了dfs,我自以为是dp!虽然如此,但写出来不太理想,主要是不懂的递归间数值的变化,导致一直出不来答案!后来看题解啊,改啊,搞啊,许久才出来个能a的代码,并且还0ms了,看来还得多熟悉下View Code 1 #include<stdio.h> 2 #include<string.h> 3 #include<math. 阅读全文

posted @ 2012-05-11 13:58 usp10 阅读(206) 评论(0) 推荐(0) 编辑

导航