摘要: 题意: 给出m,问对n最少进行几次操作。n初始为1,能得到m。操作1位将n平方。操作2为将n除以之前出现的n值中的任意一个。分析: 其实是关于指数的操作,即从1到m最少的步数。我们可以先确定最少步数m,然后进行迭代,迭代的过程也就是判断通过相加减所得到的数可以在m次操作中等于n,如果符合,m即为... 阅读全文
posted @ 2015-10-11 17:00 幻世沉溺 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 题意: 经典的埃及分数问题,即给出一个真分数,求出用个数最少的单位分数来表示这个分数。如果有多种方案,要让每个分数尽量的大,即分母尽量的小。会有K个禁止使用的单位分数。分析: IDA*算法。当按照分母递增的顺序排列时, 如果当前考虑的分数为1/e,剩下的maxd - d+1层都是1/e,但仍然... 阅读全文
posted @ 2015-10-11 16:55 幻世沉溺 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 题意: 有一篇由n个自然段组成的文章。希望将他们排成递增序列。只能剪贴和粘贴交替进行,剪贴时可以剪贴一段连续的自然段。分析: 用IDA*算法求解。当3*d+h>maxd时剪枝。代码: #include #include #include #include using namespace std... 阅读全文
posted @ 2015-10-11 16:52 幻世沉溺 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 题意: 题目的意思是倒水,给出的四个数据是第一个水杯,第二个水杯,第三个水杯,和目标水量。一开始只有第三个水杯是满的,剩下的水杯是空的。倒水的时候只能把倒水出来的这个杯子倒空,或是倒水进去的杯子倒满。 问最少转移多少水量,使三个杯子中(其中一个)出现目标水量。如果无法出现目标水量,就目标水量减一,... 阅读全文
posted @ 2015-10-11 16:46 幻世沉溺 阅读(156) 评论(0) 推荐(0) 编辑