arc145前三题

2023-04-22,

为什么只有前三题呢。。。第四题想了一个小时没思路(主要是半个小时的时候发现看错题了),然后看粉兔博客发现要用Cantor集一类的神奇玩意,手贱看了E题发现还是线性基。于是就run了。NOIP前再学吧

A:

题意简述

给你个由A和B组成的字符串,你可以把相邻两个字符改成AB,问你能不能把字符串改成一个回文串

题解思路

发现只要字符串长度>=3,那么无解的情况只有第一位为A,最后一位为B。

A.....A或B....A:中间可以全变为B

B.....B:可以变为BAAAA...AAAB

B:

题意简述

我们对case n游戏定义如下:有n个石子,熟悉的两个人一位只能取ka(k>=1)个石子,另一个只能取kb(k>=1)个石子,取ka的先手,取不了的输。

给出n, a, b,问进行case 1,case 2...case n n场游戏,先手获胜的有几场

题解思路

如果小于a,那么先手肯定输。如果 \(a>=b\) ,那么其他情况a肯定赢。因为此时只要取到a取不了,那么b就肯定也取不了

如果 \(a<=b\) ,只有 \(n%a<b\) 的情况才能赢 。不然到后手时会变成 \(a>=b\) 的情况,后手稳赢

记个数就行。

C:

题意简述

把 \(S = (1,2,3,4...,2n)\) 分成两组 \(A = (a_1,a_2,..a_n)\) 与 \(B = (b_1,b_2,..b_n)\) ,令 \(p = \sum_{i=1}^n{a_i * b_i}\),求 p 最大时A,B的分组有几种方式

题解思路

想要p最大,就要求2n和2n-1匹配,2n-2和2n-3匹配...2和1匹配

为什么?可以这样想:设2n不与2n-1匹配,与a匹配,2n-1与b匹配。为了方便,我们令A=2n,B=2n-1

则根据题目, \((A-b)(B-a)>0\)

拆开,移项\(AB+ab>Ab+Ba\)

所以A与B匹配更优

很妙的证明啊。。。其实这是一个叫做排序不等式的东西。

总结

如果对自己的代码正确性没有信心,建议养成对拍的习惯。

B题挂了三发,如果这是正式比赛就掉大分了

arc145前三题的相关教程结束。

《arc145前三题.doc》

下载本文的Word格式文档,以方便收藏与打印。