最新消息:380元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

信息学奥赛题库- 字符合并

C++ 少儿编程 1115浏览 0评论

友情提示:380元/半年,儿童学编程,就上码丁实验室

【题目描述】

有一个长度为$n$的$01$ 串,你可以每次将相邻的$k$个字符合并,得到一个新的字符并获得一定分数。得到的新字符和分数由这$k$个字符确定。你需要求出你能获得的最大分数。

【输入】

第一行两个整数$n,k$。

接下来一行$n$个数字($0$或$1$),表示初始串。

接下来$2k$行,第$i$行两个整数$c_i$和$w_i$,表示$i$写作二进制代表的$k$位字符合并后得到的新字符和分数。

【输出】

输出一个整数表示答案。

【输入样例】

3 2
1 0 1
1 10
1 10
0 20
1 30

【输出样例】

40

【提示】

【数据规模】

数据编号 $n$ $k$ $w_i$
$0$ $=10$ $2$ $≤10^5$
$1$ $=15$ $3$ $≤10^5$
$2$ $=20$ $4$ $≤10^5$
$3$ $=25$ $5$ $≤10^5$
$4$ $≤50$ $5$ $≤10^6$
$5$ $≤50$ $6$ $≤10^6$
$6$ $≤50$ $7$ $≤10^6$
$7$ $≤50$ $8$ $≤10^6$
$8$ $≤100$ $3$ $≤10^7$
$9$ $≤100$ $4$ $≤10^7$
$10$ $≤100$ $5$ $≤10^7$
$11$ $≤100$ $6$ $≤10^7$
$12$ $≤200$ $5$ $≤10^8$
$13$ $≤200$ $6$ $≤10^8$
$14$ $≤200$ $7$ $≤10^8$
$15$ $≤200$ $8$ $≤10^8$
$16$ $≤300$ $5$ $≤10^9$
$17$ $≤300$ $6$ $≤10^9$
$18$ $≤300$ $7$ $≤10^9$
$19$ $≤300$ $8$ $≤10^9$

对于100%的数据,$n≥1,0≤c_i≤1,w_i≥1$。

您必须 登录 才能发表评论!