阳康了之后还是有点没法恢复状态,头铁打了这场。
A. Greatest Convex
题意问你是否存在
x
!
+
(
x
−
1
)
!
x! + (x-1)!
x!+(x−1)!是k的倍数,
0
<
x
<
k
0<x<k
0<x<k,转化一下式子我们可以发现这个式子可以变为
(
x
−
2
)
!
∗
(
x
+
1
)
(x-2)! * (x + 1)
(x−2)!∗(x+1),当x为k-1时一定满足题目要求,输出
k
−
1
k-1
k−1即可。
A题代码
B. Quick Sort
第二题题意是给定一个操作,操作是任选(恰好)k个数把它排序然后放到序列末尾,问你最小需要多少次能对整个序列排序,我们可以发现我们只需要找排好的1-x的个数即可,剩下的一定用操作完成,次数就为(n - x) 对k上取整即可,因为前x个一定是不操作保持相对关系摆在前面的。
B题代码
C. Elemental Decompress
题意是能否构造两个排列,对于每个下标i,新构造的数组ci的值是max(ai , bi),给定c数组,问你能否构造a,b数组,一道简单的构造+贪心的题,看到c数组,我们可以很快想到把数从大到小构造,小的数随意摆放,c较大的数组要保证贪心性,我们可以有这样的一个构造思路,优先构造a数组,然后构造b数组。
我们对c数组排序,先把最大值放到a数组上,在构造b数组上(类似于有一对相同的数,第一次操作先放到a数组上,第二次放到b上)剩下的就是小的数也要按另一个数组的相对顺序放才能尽可能地构造出来。一道经典+比较好想的构造。
C题代码
D. Lucky Permutation
感觉d题太坐牢了,读完题的第一眼思路就是我们肯定是用到了置换环原理,然后我发现这是一个巨恶心的分类讨论问题,赛时当时阳康状态也不是很好,想到了思路还是没法集中精力写代码,这题写了巨久,分类讨论了四种情况然后过了。一道很好想的分类讨论。
然后阳康头铁的代价就是掉大分,阳康还是很难受,四道题草草掉分了事。