您的位置:首页 > 其它

东南大学2004年程序设计第一届决赛解题报告

2007-03-06 22:10 204 查看
东南大学第一届程序设计竞赛决赛解题报告
农夫三拳@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
= 3*C[n - 1] - 3*C[n - 2] + C[n - 3] + 2 , n为偶数
C
= 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范围之内,这就给你不用字符串提供了一些机会。写出短小精悍的程序我是没能做到(-_-),下面是某大牛的一段代码:

#include<stdio.h>
int main()

第五题 Possible Weights
数据量比较小,用n^2的dp就可以搞定了。

[b]试题下载[/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐