摘要: 题目链接:http://codeforces.com/problemset/problem/347/A题目意思:给出一个序列 a1, a2, ..., an , 通过重排序列,假设变成x1, x2, ..., xn ,使得 (x1 - x2) + (x2 - x3) + ... + (xn - 1 - xn) 的和最大。输出这个重排后的序列,不过这个序列在满足得到这个最大和的基础上字典序的排序是最小的。字典序排列即:Sequence x1, x2, ... , xp is lexicographically smaller than sequence y1, y2, ... , yp if t 阅读全文
posted @ 2013-09-21 09:44 windysai 阅读(246) 评论(0) 推荐(0)
摘要: 题目链接:http://codeforces.com/problemset/problem/347/B题目意思:给出一个包含n个数的排列a,在排列a中最多只能作一次交换,使得ai = i 这样的匹配达到最多。作一次交换,最理想的情况是,在原来匹配好的序列中再匹配到两个数;最坏的情况是,即使作怎样的交换,都不可能再找到可以匹配的两个数,也就是说,根本不需要作交换。至于一般情况下,是可以再匹配到一个数的。 我是设了两个数组(分别有n个数):a(用来存储待判断的序列a)和b(依次存储0~n-1个数)。然后判断a[i]与b[i]是否相等,这是为了确定未作交换前两组序列本来能够匹配的数目;如果不符合就尝 阅读全文
posted @ 2013-09-21 09:19 windysai 阅读(266) 评论(0) 推荐(0)