IAML's Blog

Find passion in coding

poj3373 Changing Digits

经过几天不屈不挠地思考这一题,最后还是不会,主要是想不到判重的方法。看了解题报告,正确来说,是代码。然后发现一直想不通的问题竟然是那么简单地被解决(用余数判重)。这个涉及到模n同余的特性。另外的两点就是搜索的顺序和高精度。搜索的话要按照以下规则:

1.从最高位开始,逐渐往低位搜;

2.先搜小于原来的数的,然后搜大于原来的数的;

3.先搜一位,然后两位,如此类推。

这样一来就可以保证第一个搜到的答案就是要求的答案。但是就这样直接算的话,还是会超时。所以需要优化一下。主要优化的地方就是求大数的余数的方法。

 

继续阅读