D. 单调不降字符串【2025暑假集训T4】

    传统题 1000ms 256MiB

单调不降字符串【2025暑假集训T4】

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

给定一个二进制字符串 ss,长度为 nn,仅包含字符 0\texttt{0}1\texttt{1},以及一个长度为 nn 的正整数数组 {c1,c2,,cn}\{c_1,c_2,\dots,c_n\},其中 cic_i 表示在位置 ii 发起一次后缀翻转操作的代价,其中,在位置 ii 发起的一次后缀翻转操作指:

si,si+1,,sns_i,s_{i+1},\dots,s_n 中的每个字符进行 反置 操作,即将 0\texttt{0} 变为 1\texttt{1}1\texttt{1} 变为 0\texttt{0}

请计算使得字符串单调不降(即所有 0\texttt{0} 均在所有 1\texttt{1} 之前)所需的最小总代价。保证对于每个测试用例至少存在一种可行方案。

输入格式

每个测试文件均包含多组测试数据。第一行输入一个整数 TT 代表数据组数,对于每组测试数据:

第一行输入一个整数 nn,表示字符串长度。

第二行输入一个长度为 nn、由字符 0\texttt{0}1\texttt{1} 构成的字符串 ss

第三行输入 nn 个整数 c1,c2,,cnc_1,c_2,\dots,c_n,第 ii 个整数 cic_i 表示在位置 ii 发起一次后缀翻转操作的代价。

输出格式

对于每组测试数据,新起一行输出一个整数,表示使字符串单调不降的最小总代价。

2
3
010
2 1 3
3
001
5 5 5
1
0

样例解释

对于第一组测试数据,最优操作是在位置 22 处进行一次后缀翻转,代价 11

对于第二组测试数据,字符串 s="001"s=\texttt{"001"} 已经是单调不降的,无需进行任何操作,总代价 00

数据规模与约定

下发文件

下发文件分别对应子任务 1155

有合理的子任务依赖。

子任务编号 n\sum n≤ 特殊性质 分值
11 10310^3 ci=1c_i = 1 2020
22
33 2×1052 \times 10^{5} ci=1c_i = 1
44 sisi1(2in)s_i \neq s_{i - 1}(2 \leq i \leq n)
55

对于 100%100\% 的数据:保证 $1 \leq T \leq 50,1 \leq n,\sum n \leq 2 \times 10^{5},s_i \in \{0,1\},1 \leq c_i \leq 10^9(1 \leq i \leq n)$。

2025模拟赛8

未参加
状态
已结束
规则
IOI
题目
6
开始于
2025-7-28 8:00
结束于
2025-7-28 12:00
持续时间
4 小时
主持人
参赛人数
37