
算法竞赛入门经典
文章平均质量分 77
萌萌哒黑大帅
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
UVA673 Parentheses Balance
题目链接: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=43041#problem/E 题目大意:给你一个字符串,让你判断是否能将里面的括号按照顺序配对,例如(){},或者(()[]),但像([)]这样就是不可以的。 解题思路:建立一个栈,碰到左括号就进栈,右括号则出栈并匹配。 题目坑点: 1.注意到空字符串了没? 2.出栈原创 2015-08-07 22:30:41 · 370 阅读 · 0 评论 -
UVA112 Tree Summing
好吧,线性表的题先跳过了,大多是一些无脑但是复杂的模拟。 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=43041#problem/J 题目大意:给出一棵树,问是否存在一条从根到叶子的路径,使得这条路径上的每个结点的值的和为给定的数n 解题思路:建树(输入比较复杂,需要用cin.putback,建议递归输入),爆搜(深搜原创 2015-08-12 14:00:55 · 317 阅读 · 0 评论 -
UVA 297 Tree
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=43041#problem/K 题目大意:给一个树的中序遍历和后序遍历,求出它的根到叶子的节点值的最短值取到时的叶子结点,当最短值可以取到多次时,取叶子结点最小的那一个。 题目思路:根据中序遍历和后序遍历先递归构造树,后爆搜一下就好 题目坑点:无(如果输入时不告诉你结点个数不原创 2015-08-13 19:34:46 · 354 阅读 · 0 评论 -
uva 111 History Grading
题目大意:给出一个由历史事件的发生的先后顺序组成的标准答案,以及若干的试卷答案,要你比对正确的个数,也就是两个序列的最大公共子序列长度。 题目思路:经典模型,状态转移方程:A[i]==B[i]时,dp(x,y) = dp(x-1,y-1)+1,否则dp(x,y) = max(dp(x-1,y),dp(x,y-1)) 题目坑点:并不是要你求给你的两个序列的最大公共子序列长度。而是要先转化,以原创 2015-08-19 15:23:24 · 426 阅读 · 0 评论 -
uva 10405 Longest Common Subsequence
题目大意:求出两个给定字符串的最大上升子序列 解题思路:状态转移方程,如果a[i-1] = b[i-1],那么dp[i][j] = dp[i-1][j-1]+1,否则dp[i][j] = max(dp[i-1][j],dp[i][j-1]),在dp前记得初始化dp[i][0]与dp[0][j]为0,递推计算从1到字符串长度 题目坑点:字符串可能包含空格,需要用getline输入 代码如下:原创 2015-08-20 00:26:26 · 371 阅读 · 0 评论 -
uva 103 Stacking Boxes
题目大意:多维方形嵌套问题,要求输出最大的个数以及任意一组可嵌套的方形 题目思路:参考两维的矩形嵌套问题 题目坑点:无 参考代码: #include #include #include #include #include #include #include #include #include #include #include #include #include原创 2015-08-19 23:52:31 · 371 阅读 · 0 评论