`
huobengle
  • 浏览: 858591 次
文章分类
社区版块
存档分类
最新评论

USACO Section 2.1 Sorting A Three_Valued Sequence - 应该有更好的方法

 
阅读更多

题目的意思是有一列数只由1,2,3组成~~~需要咱们将1放在一起排在最前面~~~2放在一起排在中间~~~3放在一起放后面~~问对于这个数列最少要进行多少次交换...

我的方法是先统计1,2,3的个数~~那么就可以知道1,2,3分辨该放在哪个区域~~

首先将1都放到该放的位置~~其所需步数就是找2~3的区域中1的个数~~然后再看1这个区域里有多少个2可以直接和2区域的交换~~有多少个3可以直接和3区域的交换~~~做完后这是1已经放好了~~而且1中的2都尽量的往2区域放~~1中的3也在尽量的往3区域放~~那么这是2,3区域里面已经没有1了~~~并且显然的是2区域里的3=3区域里的2~~所以任意统计一个区域~~就找到2,3区域相互需要交换的次数了~~两次之和既是答案~~

冥冥之中感觉没必要用这种可以说是纯模拟的方法~~~想推一个更快捷的~~可一直错误~~


Program:



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics