codeforces 再见场 Good Bye 2018 前四题题解

版权声明:本文为博主原创文章,转载请联系博主(通常都会同意就是了) https://blog.csdn.net/cccccwb/article/details/85453386

一场下来只出了四题,后四题竟毫无思路……还是太菜了

十一分钟出四题,膜爆tourist

A:New Year and the Christmas Ornament (1091A)

直接把a+2,b+1,c拿出来取最小值就是最终答案里面最大的那个数的上限了,然后乘三减三输出即可。

B:New Year and the Treasure Geolocation (1091B)

考虑到题目保证有解,那么最终无论是X坐标还是Y坐标,最小的值一定对应加上最大的值,所以只要找出一边的最小值和一边的最大值加起来就可以了。

C:New Year and the Sphere Transmission (1091C)

对于总人数不能整除的传递,显然一圈过后传不到1号手上,并且在传到1号之前不会重复被某人拿到,最后仍会归结变成能够整除的传递。所以只要找出这个数的所有因数,按照等差数列算一下,排个序就可以了。

D:New Year and the Permutation Concatenation (1091D)

考虑一个能够成为答案的区间,长度正好为n,和正好为n(n-1)/2,一定是每个数正好出现一次。又因为原数列以字典序排序,所以相同开头的置换会被排到一起。所以只要枚举一下最终的答案里面有多少个是前一个置换的,多少个是后一个置换的。又因为要相邻才能成立,所以在某个地方需要-1,但是原来那些置换不用,所以要单独拉出来算。最终的公式大概长成这个样子:

ans=n!+\sum_{i=1}^{n-1}A_{n}^{i}*((n-i)!-1)

注意一下因为要取模,所以可能需要乘法逆元就行了。

(然而D题一堆校队大佬硬生生找出了规律……还不止一种……膜爆)

猜你喜欢

转载自blog.csdn.net/cccccwb/article/details/85453386
今日推荐