东南大学2004年程序设计第一届决赛解题报告
2007-03-06 22:10 老博客哈 阅读(981) 评论(2) 编辑 收藏 举报 东南大学第一届程序设计竞赛决赛解题报告
农夫三拳@seu
drizzlecrj@gmail.com
“善始者实繁,克终者盖寡”,既然初赛解题报告贴出来了,为了不做“寡人”,偶痛下心来做了一下决赛。决赛的题目相对初赛题量进行了减少 ,难度略有增加。为了大家能力的提高,这次就不传solution了。(里面有两题目前为止还没有找到Oj提交)
第一题 Simple Multiplication
高精度乘法,模拟手工计算时的即可。
http://acm.pku.edu.cn/JudgeOnline/problem?id=1001 即为一题稍微复杂点的高精度乘法的问题
第二题 How Many Triangles
找递归规律。通过枚举前几个三角形可以发现每一个边长为n(n > 3)的三角形都可以由3个n-1个三角形组成,
而这种情况下需要除去重叠的部分,还要加上漏掉的部分。由于在偶数边长的情况下会存在一个边长为n / 2倒三角形。因此递归式为
C[n] = 3*C[n - 1] - 3*C[n - 2] + C[n - 3] + 2 , n为偶数
C[n] = 3*C[n - 1] - 3*C[n - 2] + C[n - 3] + 1 , n为奇数
可以在http://acm.hdu.edu.cn/showproblem.php?pid=1396进行提交
第三题 BST Reconstruction
题意很简单。我是模拟做的,按照输入序列从后往前的构建BST(Binary Search Tree),然后进行PreOrder输出应该有更好办法
第四题 Palindrome Numbers
这题看起来简单,其实花了我不少时间,规律很容易发现,从1位数目的数字,到2位,3位。。。所有回文数的个 数为9, 9, 90, 90, 900, 900, ... ...
知道这个规律也并非一定能很容易的做出来。事实上使用构造是无可厚非的,关键点要注意回文的第一个数字和其它的数字并相同。此外,从题目的数据量2*10^9可以推算出,回文的“一半”在int范围之内,这就给你不用字符串提供了一些机会。写出短小精悍的程序我是没能做到(-_-),下面是某大牛的一段代码:
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
第五题 Possible Weights
数据量比较小,用n^2的dp就可以搞定了。
试题下载