Codeforces Round #721 Sequence Pair Weight 题解 (Java/C++)

题意 对于任意数组,其分数为其中值相等的对数。问他的所有子数组的以及其自身的分数总和。 题解 显然,我们把相同的数放在一起。于是我们得到一个值相同的下标的数组。以样例为例,我们会得到两个下标数组:[0,2,3]和[1]。…

Codeforces Round #721 Palindrome Game (easy/hard) 题解 (Java/C++)

题意 给你一个01构成的字符串,现在Alice和Bob完游戏,两人轮流进行操作,Alice先手。每一步玩家可以做两种操作。1. 花费1,把一个0改成1。2. 如果当前串不是回文串,则可以把当前字符串反转,且没有花费,且下个人不得立刻再次执行此操作。当所有0改成1,游戏结束,花费少者得胜。…

Educational Codeforces Round 109 Assimilation IV 题解(Java/C++)

题意 你有n个城市。每回合你要选一个城市来修纪念碑。一开始纪念碑的辐射范围是1,此后每回合辐射范围加一。总共修n个纪念碑。 现在有m个点,给你每个点到每个城市的距离。 对于每一种修法的排列,分数就是至少被一个城市的纪念碑辐射到的。问所有排列的分数总和。…

Educational Codeforces Round 109 Armchairs 题解(Java/C++)

题意 有n个板凳,有不超过$\frac{n}{2}$个人已经坐在上面,现在每次你可以让任意一个人坐到另外一个空位上,开销是两个空位的下标的差。问你,把这些人挪了之后,所有之前坐了人的空位都不坐人的最小开销。…