摘要: 本题是poj的第二题,相信很多人都没有A掉,因为比较繁,我也是今天下了很大的决心才做的。和简单的高精度题目相比本题多了一个小数点,这就是难的地方。所以稍不留神就会出错。做完以后需要注意的地方也想不起来了,大致说一下吧。  我的想法其实比较简单。(1)对于整数,要分为输入的整数和输入的小数点后全是0的数。对于这样的数就当整数处理,利用高精度的计算方法(可参考前辈的模板)。如果是赤裸裸的整数,即没有小数点的,直接计算输出。如果有小数点,就把小数点和小数点以后的0全部删掉,用string很方便解决。然后计算输出。(2)对于浮点数,应该也要分为两种吧。小数点前有非零位和没有非零位的。反正无论对于哪种, 阅读全文
posted @ 2011-02-13 17:55 like@neu 阅读(333) 评论(0) 推荐(1) 编辑
摘要: 题目出处:http://poj.org/problem?id=2823  题目意思是说给出n个数,求k个相邻数的最大数和最小数。这个题看起来不难,可能会想到用暴力解决。但是由于数据规模较大,所以暴力绝对会超时。如果对线段树比较熟练的话就可以很容易看出来是考察线段树。我觉得可以这样思考:维护一颗含有k个元素的线段树,从j=0到n接受输入,把num[j]加入到树中。当j大于等于k时存储最大数和最小数的值,同时把num[j-k]这个元素从树中删除。这样全程仅需考虑树中的元素。不论是删除元素还是加入元素都必须维护树的性质没有改变。思路比较简单,只是线段树的实现比较繁琐。此处提供参考代码,给需要的同学一 阅读全文
posted @ 2011-02-13 13:05 like@neu 阅读(349) 评论(0) 推荐(0) 编辑