最新公告
  • 欢迎您光临信息学奥赛网,一个优质的信息学编程题库和信息学编程学习资源专业网站。欢迎加入VIP
  • 最大删除得分

    正文概述 陈老师   2026-01-20 15:14:44  

    题目描述

    给定一个长度为 nn 的仅由字符 0011 组成的字符串 ss

    你需要不断进行如下操作直到字符串变为空:选择一段连续且字符相同的子串,将其从字符串中删除,并将剩余的两部分(任意一部分可以为空)按原顺序拼接。例如,如果你从字符串 111110 中删除子串 111,你将得到字符串 110。当你删除长度为 ll 的子串时,你可以获得 al+ba \cdot l + b 分。

    你的任务是计算,在必须将给定字符串删空的前提下,你最多能获得多少分。

    输入格式

    第一行包含一个整数 tt1t20001 \le t \le 2000),表示测试用例的数量。

    每个测试用例的第一行包含三个整数 nnaabb1n100;100a,b1001 \le n \le 100; -100 \le a, b \le 100),分别表示字符串 ss 的长度以及参数 aabb

    每个测试用例的第二行包含一个仅由字符 0011 组成的字符串 ss

    输出格式

    对于每个测试用例,输出一个整数,表示你最多能获得的分数。

    样例

    3
    3 2 0
    000
    5 -2 5
    11001
    6 1 -4
    100111
    
    6
    15
    -2
    

    提示

    样例解释

    在第一个样例中,直接删除整个字符串即可获得 23+0=62 \cdot 3 + 0 = 6 分。

    在第二个样例中,如果每次只删除一个字符,则每次可获得 (2)1+5=3(-2) \cdot 1 + 5 = 3 分,总共可以获得 1515 分。

    在第三个样例中,可以先从字符串 100111 中删除子串 00,获得 12+(4)=21 \cdot 2 + (-4) = -2 分,剩下字符串 1111,全部删除可获得 14+(4)=01 \cdot 4 + (-4) = 0 分。总共进行了两次操作,获得 2-2 分。

    数据范围

    测试点编号 tt 范围 nn\le aa 范围 bb 范围 特殊性质
    121\sim 2 1t20001 \le t \le 2000 1010 100a100-100 \le a \le 100 100b100-100 \le b \le 100
    343\sim 4 100100 100a<0-100 \le a < 0 a<0a<0
    565\sim 6 100a100-100 \le a \le 100 b=0 b=0 b=0b=0
    7107\sim 10 100b100-100 \le b \le 100
    信息学奥赛网,一个优质的信息学奥赛学习资源平台!
    信息学奥赛网 » 最大删除得分