传统题 1000ms 256MiB

逆序对

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

题目描述

给定一个长度为 nn01SS,但该字符串中有一些位置的字符是未知的,用 ? 表示。

我们需要将所有的 ? 替换为 01,使得最终的字符串 SS 中的逆序对数量最大。

输出最大的逆序对数量。

输入格式

第一行输入一个正整数 tt,表示测试用例的数量。

对于每组测试数据:

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

第二行输入一个长度为 nn 的字符串 SS,表示给定的字符串。

$(1\le t\le 10^5,2\le n\le 2\times 10^5,S_i\in\{0,1,?\})$

保证所有测试用例的字符串长度之和不超过 2×1052\times 10^5

输出格式

对于每组测试数据,输出一行一个整数表示答案。

样例输入

4
3
110
3
1?0
4
????
7
1?0?0?1

样例输出

2
2
4
8

CSP-J/S 训练(第四场)

未参加
状态
已结束
规则
IOI
题目
6
开始于
2025-7-22 2:00
结束于
2025-8-1 18:00
持续时间
256 小时
主持人
参赛人数
14