Educational Codeforces Round 110 Unstable String 题解 (Java/C++)

题解 首先,我们考量本身就是unstable的串能够拆成多少个字串。对于010101。我们发现,可以拆成6个长度为1的,5个长度为2的,……,以及1个长度为6的unstable子串。因此可得,对于任意长度为n的unstable串,可以有$\frac{n\cdot(n+1)}{2}$种解。…

Codeforces Round #723 Potions (Hard/Easy) 题解 (Java/C++)

题解 首先,如果没有任何限制,我们当然会喝光所有的药水。而事实上,唯一的限制是生命值不能小于0。 那么什么时候生命值会小于0呢?显然是喝的正数的药水的总和小于了喝的负数的药水的总和。…

Codeforces Round #723 Kill Anton 题解 (Java/C++)

题解 首先考量Anton是怎么还原才能做到最快。我们发现,Anton其实就是从左往右每次恢复一位。比如从NNOTA恢复到ANTON的第一步是恢复成ANNOT。于是我们想到,大方向就是把字母尽可能拉远,让他每一步都尽可能花费尽可能多的次数。…

Codeforces Round #722 (Div. 2) ABCD 题解 (Java/C++)

A. Eshag Loves Big Arrays 题解 既然可以选择任意子序列。那么只要某个数x,高于了数组的最小值。那么迟早这个x会和某个最小值相邻,并且被删掉。所以统计高于最小值的值的数目就好。…