如何高效运用deque算法解决UVa120的Flapjacks问题?

2026-06-10 08:170阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计709个文字,预计阅读时间需要3分钟。

如何高效运用deque算法解决UVa120的Flapjacks问题?

分析+算法超简单,给你一组热饼,用笔画在纸上画一画就知道了。还是动态规划的思路,从下至上,保持已经遍历过的热饼都是最大且有顺序的。例如输入的数据为:2 4 1 3


Analysis
分析

算法很简单,给你一组煎饼,用笔在纸上一画就知道该怎么办了。还是动态规划的思想,从底至上,保持已经遍例过的煎饼都是最大且有序的。比如输入的数据为:

2 4 1 3 5

按题目要求,4在顶5在底。5已经是最大的了,则移动到上一个煎饼3。3之上(含)最大的是4,先将4翻转到最顶,形成:

如何高效运用deque算法解决UVa120的Flapjacks问题?

4 2 1 3 5

然后将4到3的子叠翻转,形成:

3 1 2 4 5

移动到上一个煎饼2,2之上(含)最大的是3,而3就在顶部,因此直接将2到3翻转,形成:

2 1 3 4 5

最后将2和1翻转,就完成了。注意:一定不要忘了在输入的一行数据下再将原数据复制输出一行,漏掉必然WA。按照上面的算法来做就不会出现多余的翻转操作,因此不用担心。

阅读全文

本文共计709个文字,预计阅读时间需要3分钟。

如何高效运用deque算法解决UVa120的Flapjacks问题?

分析+算法超简单,给你一组热饼,用笔画在纸上画一画就知道了。还是动态规划的思路,从下至上,保持已经遍历过的热饼都是最大且有顺序的。例如输入的数据为:2 4 1 3


Analysis
分析

算法很简单,给你一组煎饼,用笔在纸上一画就知道该怎么办了。还是动态规划的思想,从底至上,保持已经遍例过的煎饼都是最大且有序的。比如输入的数据为:

2 4 1 3 5

按题目要求,4在顶5在底。5已经是最大的了,则移动到上一个煎饼3。3之上(含)最大的是4,先将4翻转到最顶,形成:

如何高效运用deque算法解决UVa120的Flapjacks问题?

4 2 1 3 5

然后将4到3的子叠翻转,形成:

3 1 2 4 5

移动到上一个煎饼2,2之上(含)最大的是3,而3就在顶部,因此直接将2到3翻转,形成:

2 1 3 4 5

最后将2和1翻转,就完成了。注意:一定不要忘了在输入的一行数据下再将原数据复制输出一行,漏掉必然WA。按照上面的算法来做就不会出现多余的翻转操作,因此不用担心。

阅读全文