PKU ACM 1000~1010解题总结

1001 求高精度幂 分析: 其实也就是高精度,大数值的乘法。 方法: 实际使用的是通过字符数组来保存输入和输出,并利用字符数组模拟手算乘法的步奏来实现高精度的乘法。 难点: 思路需清楚,小数点的位置要处理好,可以考虑把小数和整数部分分开计算。 1002 统计重复电话号码 分析: 需要替换字母并统计重复 方法: 1.先用了一个包含所有号码的大数组来统计重复的号码O(N),结果MLE 2.考虑排序,用了qsort,之后一遍统计重复的电话O(nlogn),(最后一个号码的统计开始未考虑) 难点: 应该还有更快的方法

1003 ~ 1005 直观题

1006 生理周期

方法: 优化计算,减少计算次数。

1007 DNA排序

方法: 利用了仅有4个字母的特点,线性的计算每个DNA的有序度。

1008 玛雅历

方法: 使用了hash的方法,避免了其中字符串的逐个比较。

1009 Edge Detection

分析: 实际三行数据就可以进行计算,要处理超过3行的相同数据, 直接使用数组来保存相应的像素值会发生MLE,应当保留其原来的数值+长度的结构,一个像素一个像素的计算会导致TLE。 方法:只需处理图中像素的边缘部分,中间的部分都是相同的。

1010 邮票—— Accepted 216K 15MS G++ 2041B 2008-02-16 18:32:17

方法: 使用了递归的搜索,没做剪枝的时候竟然也能过,做个几个剪枝之后,所用时间减少一半 难点: DP应该怎么做

你可能感兴趣的:(优化,电话)