CF1733D2 Zero-One (Hard Version)
题目描述
两个长度为 $n$ 的二进制字符串 $a$ 和 $b$。你可以进行如下操作若干次(可以为 $0$ 次):
- 选两个数 $l,r(l
输入格式
第一行一个整数 $t$ $(1\le t\le 1000)$,表示数据组数。
每组第一行三个整数 $n$、$x$、$y$ $(5\le n\le 5000,1\le x,y\le10^9)$,表示字符串长度,以及单次操作代价。
第二行 $a$,第三行 $b$,保证只包含 $0$ 和 $1$,长度为 $n$。
保证 $n$ 的总和不超过 $5000$。
输出格式
对于每组数据,一行一个整数,表示使 $a$ 等于 $b$ 的最小代价,或是 $-1$ 表示无解。
说明/提示
在第 $1$ 组测试数据中,选择第 $2$ 和第 $3$ 个位置,代价为 $8$,这是最小可能的代价。
在第 $2$ 组测试数据中,我们执行如下步骤。
- 选择第 $1$ 和第 $2$ 个位置,代价为 $2$,$a$ 现在是 110001。
- 选择第 $2$ 和第 $3$ 个位置,代价为 $2$,$a$ 现在是 101001。
- 选择第 $3$ 和第 $4$ 个位置,代价为 $2$,$a$ 现在是 100101。
- 选择第 $4$ 和第 $5$ 个位置,代价为 $2$,$a$ 现在是 100011。
- 选择第 $5$ 和第 $6$ 个位置,代价为 $2$,$a$ 现在是 100000。
总花费为 $10$。
在第 $3$ 组测试数据中,我们无法操作使 $a$ 等于 $b$。
在第 $4$ 组测试数据中,我们执行如下步骤。
- 选择第 $3$ 和第 $6$ 个位置,代价为 $3$,$a$ 现在是 0101011。
- 选择第 $4$ 和第 $6$ 个位置,代价为 $3$,$a$ 现在是 0100001。
总花费为 $6$。
在第 $5$ 组测试数据中,我们执行如下步骤。
- 选择第 $1$ 和第 $6$ 个位置,代价为 $4$,$a$ 现在是 110000。
- 选择第 $2$ 和第 $3$ 个位置,代价为 $3$,$a$ 现在是 101000。
总花费为 $7$。
在第 $6$ 组测试数据中,我们无需执行任何操作。