Ryen的学习笔记

成长有多少新奇的美,就有多少撕裂的痛;离去有多么辽阔的自由,就有多么无边的孤寂。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  算法题目练习

摘要:The Suspects(1611,): 考察并查集的基本使用,路径压缩可以有效提升效率。结果要统计含有‘0’元素的集合内元素的个数。Ubiquitous Religions(2524,):一样考察并查集基本使用,结果需要统计所有的集合的个数。Risk(1603,):任意点最短路径,直接只用floyd即可,注意memset(d, 1, sizeof(d));的效果(此时有const int INF = 16843009;)。Freckles(2560,):最小生成树,使用Kruskal算法,并查集使用路径压缩可以0MS。该题中用qsort对边的长度通过编号进行间接排序,应该是w[a] w[ 阅读全文

posted @ 2010-03-07 18:18 Ryen_lee 阅读(508) 评论(0) 推荐(0)

摘要:History Grading(,111):DP上来就给个下马威,这题据说是LCS,首先题意就非常容易读错,看懂题意后,我想当然的定义了错误的状态转移方程(虽然是美好的O(n)),导致一直WA,后来改正后,用O(n^2)方法AC。由此肯见,状态的定义一定要好,并且要注意检查状态转移方程是否能满足状态的定义。Longest Common Subsequence(,10405):就是LCS, 注意输入可能有空行,需要返回0,这样输入函数也需要使用gets才行。gets读入失败时返回0。Coin Change(,674): 设置状态方程时要考虑可能出现重复的问题,使用定序方法解决,开始提交一直AC, 阅读全文

posted @ 2010-02-11 16:42 Ryen_lee 阅读(794) 评论(0) 推荐(0)

摘要:ID Codes : next_permutation, STL水过,自己实现了个字符版本。Birthday cake: 竟然使用随机数水过了,怪哉。The Hamming Distance Problem(,729): 按字典序枚举排列,如果最后一行多输出空行会WA。Island of Logic(1478,): 经典题,基本思想是枚举所有可能状态,根据输入判断。一个好的策略是用每条输入对所有状态进行筛选,矛盾的置零,则用所有输入进行筛选后剩余的状态即为可能状态,这样比用每个状态来检测所有输入是否都可行要方便些(改变了循环的内外顺序,但是不影响结果)。注意可以有不均匀进制来表示状态(进制推广 阅读全文

posted @ 2010-02-03 11:24 Ryen_lee 阅读(643) 评论(0) 推荐(0)

摘要:"Accordian" Patience : 链表,一遍过,可以考虑使用数组链表。 The Blocks Problem :使用数组,堆栈。 局部变量使用太滥,导致同步问题。 Parentheses Balance:直接使用堆栈即可。 注意fgets最后含有’\n’。 输出最好写在一起. 代码Tree Summing: 二叉树的解析,注意递归的理解。 ungetc()函数的使用,isspace() 函数可以判断所有空白符,(空白符指空格、水平制表、垂直制表、换页、回车和换行符) 另外,关于getc函数可以看一下这篇文章Quadtrees: 四叉数的构建。对递归理解不深致使一直WA,需要对递 阅读全文

posted @ 2010-01-18 20:21 Ryen_lee 阅读(532) 评论(0) 推荐(0)

摘要:Integer Inquiry(1503, 424): 大整数加法,照定义写就行。Poj-AC, UVA-WA。Palindromes(1590 401): 回文数,Poj一遍AC。Excuses, Excuses!(1598,409): 字符串匹配。使用了strtok进行分词,还可以参考strstr函数。 POJ-AC。Artificial Intelligence?(2256, 537): 字符串匹配,提取数据。 POJ-WA, UVA-AC。Master-Mind Hints(N/A, 340): 就是猜数字,桶排序通过,注意桶排序时下标的范围,RE了一次了。100题 MARKWhere 阅读全文

posted @ 2010-01-15 22:17 Ryen_lee 阅读(653) 评论(0) 推荐(0)