当前位置:   article > 正文

逆向思维

逆向思维

 USACO 的一道题目:NAME THAT NUMBER(http://ace.delos.com/usacoprob2?a=76VLh6Cyf3Z&S=namenum)是一道可以通过简单的搜索解决的问题。但是通过这道题,可以看到逆向思维的“神奇功效”

 

这题有两个思维的方向:

1、把数字转化成字符串,这样的字符串可能有很多个。然后对每个字符串,在名字表中查找(利用二分查找)。这种方法面临两个问题:1)必须用一个大容量的(约5000)string类型的数组存放名字表。2)必须把唯一的输入数字转化成不唯一的字符串(这个过程还需要DFS一下)。效率很低

2、把每个出现在名字表中的字符串转化成数字,再和输入的数字进行比较。因为每个字符串只能转化成唯一的数字串。所以不需要DFS,利用map可以简单高效的完成。名字表也不要存储了,只要一遍扫描即可。效率很好,实现方便

 

因此,可以看到,方法二把字符串转化成数字和输入数字对照,它比方法一把数字转化成字符再逐个到名字表中扫描简单的多。虽然道理是一样的,但是不同的思考方向,带来的效果有很大的差异。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/619370
推荐阅读
相关标签
  

闽ICP备14008679号