本人出了其中三题,来谢罪了
因为说不能出难题,所以就挑了几个简单的题目,数据基本上是随机生成的,也没有故意卡人,应该做题体验不算很差吧(
按照难度来讲解吧
CF 1000
奶牛的二次元生活
Tutorial
我们考虑二元组 <xi,yi>,当前的能力值 s,题目显然是一个贪心,我们期望通过拿到更大的 yi,让我们获取所有的二元组。换而言之,我们需要先欺负风险小收益大的,先升级,最后再去打最终 boss。那么,只需要排序后依次打过去就行。
Solution
windlinxy 的回文数
Tutorial
简单的数学,实际上看见数据范围就会明白,这一定不是模拟题,如果仔细看样例的话,可以大胆猜测规律就是输入的 n 接上 n 反过来。证明如下:
显然,第一个偶数长度的回文数为 11,而显然我们可以发现,偶数长度的回文串一定是 11 的倍数,而 11 的倍数的特征是前半部分与后半部分的和相等,于是我们考虑两个偶数长度的回文数,a 与 b,可以发现,a<b 当前仅当其前半部分也同样满足小于关系。
那么我们可以发现,第 n 个偶数长度的回文数的前半部分实际上就是 n 自己。
Solution
CF 1000 ~ 1300
virgil 的字符串
Tutorial
简单的想法,显然如果 S 长度大于 26 就肯定不行了,否则只需要看 S 的前 26 个字符改完之后能不能做到全不相同,最少改多少个即可(最少这里,只需要贪心的去考虑就可以)
Solution
virgil 的 LCS
Tutorial
基础的 LCS
,不会的话请自行百度什么是 LCS
Solution
CF 1300
鼠鼠们的网上冲浪
Tutorial
这题可以参考 codeforces-practice 文章中的(链接为 Practice )) H. Beppa and SwerChat
Solution
virgil 想要完美平衡
Tutorial
为了使 cost
最小化,我们应该只在有两个连续位置(且值相反)需要更改时才使用交换操作。对于其他需要位置,我们可以使用翻转操作。
Solution