Codeforces Round #748 Changing Brackets 题解 (Java/C++)

题解 首先,根据题意,我们可以知道括号的方向完全不影响结果。那么很自然的,我们只需要考虑不同类型括号的奇偶性。 于是我们注意到,如果两个相邻的方括号之间有奇数个圆括号(反过来也一样),那么至少需要1个圆括号改成方括号。…

Codeforces Round #748 Red-Black Number 题解 (Java/C++)

题解 一个很明显的dp问题。 不难想到有这样几个状态:1、 前i个数字;2、|r-l|;3、除以A的余数;4、除以B的余数。于是我们就有这样的dp定义:dp[i][diff][x][y]表示前i个数,红色比黑色多diff个(不取绝对值),除以A余x,除以B余y时是否可能。…