2014年5月15日
摘要: 前几天学弟学妹们有一场比赛,学弟邀请我作为技术支持者去帮忙,在那个过程中我看了几道题。 其中有两道题正常比赛没有其他人提交,于是我研究了一下。 研究的第一道就一个暴力dfs就可以过,只是可能正常比赛没人看懂题意,我看了好几个小时才看懂的。 第二道就是 double sort。 什么是 double sort 呢? 就以题目中的讲解例子来说说吧。 题目说对于一组数 [5; 4; 3; 2; 1], 如果只可以交换相邻的数字,要使这组数达到升序至少需要 10 步。 这个很好理解,假设一个数字要和左面的数字交换,那只有一种情况。 但是对于两组数 [5,5; 4,4; 3,3; 2,2; 1,1] 来说,也是只能交换相邻的数字。这是一个数字和左面的数字交换时就有两种情况了。 比如对于 4 可以和 第一个5交换,也可以和第二个5交换。 目标是使这两组数字达到升序。题意还说这个例子的答案是 15 ,不是 20. 阅读全文
posted @ 2014-05-15 19:02 tiankonguse 阅读(231) 评论(0) 推荐(0) 编辑