题目名称 2269. [HAOI 2016]字符合并
输入输出 merge_2016.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 20
题目来源 Gravatar铁策 于2016-04-24加入
开放分组 全部用户
提交状态
分类标签
HAOI 状压DP 枚举 区间DP
查看题解 分享题解
通过:66, 提交:213, 通过率:30.99%
Gravatarws_fqk 100 1.210 s 4.33 MiB C++
GravatarBennettz 100 1.239 s 2.50 MiB C++
GravatarBennettz 100 1.257 s 2.28 MiB C++
GravatarLx 100 1.264 s 2.06 MiB C++
GravatarHzoi_moyi 100 1.279 s 5.01 MiB C++
GravatarCydiater 100 1.326 s 5.01 MiB C++
GravatarHZOI_蒟蒻一只 100 1.340 s 5.01 MiB C++
Gravatar하루Kiev 100 1.370 s 184.87 MiB C++
Gravatarhzoi_xx 100 1.381 s 3.88 MiB C++
Gravataryymxw 100 1.381 s 5.51 MiB C++
本题关联比赛
4043级NOIP2022欢乐赛1st
关于 字符合并 的近10条评论(全部评论)
连题解都看不懂了……自己瞎写了写注释,不知道能不能自己看懂,也不知道自己写的对不对……
UPD:编码还选错了……还得重交一遍……
GravatarHZOI_蒟蒻一只
2017-08-15 15:24 9楼
字母i跟l分不清,打错输入文件名,,退役的感觉油然而生。
Gravatarsxysxy
2017-04-07 09:43 8楼
GravatarBennettz
2017-03-30 08:16 7楼
%2 -> 9s
&1 -> 3.6s
以后还是别乱%了
GravatarFoolMike
2016-08-21 17:18 6楼
评测比本机还慢,学校这渣电脑0.998s,到这儿不加O2就TLE
GravatarFoolMike
2016-08-21 17:02 5楼
隔了一个月发现这题真的好水。。
于是HAOI2016AK了
Gravatar铁策
2016-05-31 16:31 4楼
std是这样读数据的
 scanf("%1d",&a[i]); 
所以都能过。。。
GravatarFancy
2016-05-03 19:28 3楼
上午第一题考生物题就算了,下午第一题样例的输入数据中01串是连在一起的,测试数据中的01串中单个数字是分开的。这样对于01串直接按字符串读的就全wa了。
GravatarCydiater
2016-04-27 12:24 2楼
Gravatar铁策
2016-04-25 18:10 1楼

2269. [HAOI 2016]字符合并

★★★   输入文件:merge_2016.in   输出文件:merge_2016.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

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

【输入格式】

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

第二行表示长度为 $n$ 的 $01$ 初始串,输入的相邻字符之间用一个空格隔开。

接下来 $2^k$ 行,每行一个字符 $c_i$ 和一个整数 $w_i$,$c_i$ 表示长度为 $k$ 的 $01$ 串连成二进制后按从小到大顺序得到的第 $i$ 种合并方案得到的新字符, $w_i$ 表示对应的第 $i$ 种方案对应获得的分数。

【输出格式】

输出一个整数表示答案。

【样例输入1】

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

【样例输出1】

40

【样例1说明】

第 $3$ 行到第 $6$ 行表示长度为 $2$ 的 $4$ 种 $01$ 串合并方案。$00$ -> $1$,得 $10$ 分,$01$ -> $1$ 得 $10$ 分,$10$ -> $0$ 得 $20$ 分,$11$ -> $1$ 得 $30$ 分。

【样例输入输出2】

输入输出样例2

【数据范围】

对于 $100\%$ 的数据,$n \geq 1,0 \leq i\leq 1, w_i \geq 1$.