没打,在军训
a:
黄吧,橙低了
我们按照x排序,那么可能成为次大值的是1和n,1和n-1,2和n,按照y同理。因为这些都是次大了,那么再取个max只会更大。然后把重复的判了,多写几个就可以。
b:
容易想到尽可能匹配多的偶。如果三组数是奇奇偶的话(为了方便称为123组),那么就是1和2匹或是1和3匹+2和3匹,对于第二种情况,如果1和3匹与2和3匹匹到了同一个那么显然可以12匹,所以不用特判这个情况。然后利用双指针来找第一个比自己大的数和第一个比自己小的数,对于找第一个比自己小的数我是将两个数组反一下了,当然这个用set也可以。
c:
容易想到冒泡排序,然后就没想出来。因为这是个排列,所以想着要将每个数都搞到对应的位置上,但如果一开始奇偶不对怎么办呢,我们显然要用掉奇数次操作,并且不影响到当前的位置。我们可以在这个数的后一位操作一下,如果涉及到已经排好的数那么就在前面操作。在操作到3时while搞就行了,对于n>=4的情况我们上面的方式显然是可以的。