LLppdd's likes strings!

Time Limit: 1 s Memory Limit: 256 MB

题目背景

LLppdd 由于实在是太弱了,在 \(ION 2018\) 模拟十连测中成功获得了多次零分......
由于考试的时候太无聊了,他就把这些 \(0\) 串成了一个字符串。
然后 LLppdd 又发现全是 \(0\) 的串 \(0000000...000\) 不够优美,于是他在中间随机加了几个数字 \(1\) (比如 \(01110101001...010110\))。
最后,他突发奇想!要不我们把他们全部变成 \(1\)?

题目描述

LLppdd 会两种操作:
操作1:选择一段连续的数,将他们的顺序变成逆序。 \((1 \underline{001} 1 \rightarrow 1 \underline{100} 1)\)
操作2:选择一段连续的数,将他们全部取反。 \((0 变成 1, 1 变成 0)\)。\((1 \underline{001} 1 \rightarrow 1 \underline{110} 1)\)
当然,每种操作都要他对应的花费,我们假设操作一的花费为 \(x\), 操作二的花费为 \(y\)。他想知道将整个字符串变成全 \(1\) 串的最小花费是多少?

输入格式

输入一共有两行:

第一行三个正整数 \(n, x, y\),分别表示选择接下来输入的字符串的长度,操作一的花费,操作二的花费。

第二行是一个长度为 \(n\) 的 \(01\) 串。

输出格式

输出一共一行:

将原字符串改成全 \(1\) 串的最小花费。

输出样例1

3 1 2
000

输出样例1

2

输入样例2

5 1 10
01000

输出样例2

11

数据范围

\(30\%\)的数据保证\(1≤n≤3\)。
\(50\%\)的数据保证\(1≤n≤10\)。
\(80\%\)的数据保证\(1≤n≤500\)。
\(100\%\)的数据保证\(1≤n≤10000\)。

HINT

对于样例一,花 \(2\) 元将整个字符串进行取反就可以了。
对于样例二的具体操作如下:
$ «01000» → «10000» → «11111» $ 总共花费为 \(1+10=11\) 元。

LLppdd likes strings的更多相关文章

  1. Codeforces Beta Round #17 C. Balance DP

    C. Balance 题目链接 http://codeforces.com/contest/17/problem/C 题面 Nick likes strings very much, he likes ...

  2. UESTC_How many good substrings CDOJ 1026

    Icerain likes strings very much. Especially the strings only consist of 0 and 1,she call them easy s ...

  3. Codeforces Round #396 (Div. 2)

    C. Mahmoud and a Message time limit per test 2 seconds memory limit per test 256 megabytes input sta ...

  4. HGOI20180817 (NOIP模拟Day1 task)

    HGOI自测 初测:150=80+20+50 rank1~rank3(并列3个rank1,所以我是rank3 qwq) 今日分突然想简约 CF359A Table https://www.luogu. ...

  5. Codeforces Round #396 (Div. 2) C. Mahmoud and a Message dp

    C. Mahmoud and a Message 题目连接: http://codeforces.com/contest/766/problem/C Description Mahmoud wrote ...

  6. Codeforces 766C - Mahmoud and a Message

    C. Mahmoud and a Message time limit per test 2 seconds memory limit per test 256 megabytes input sta ...

  7. Codeforces Round #396 (Div. 2) A,B,C,D,E

    A. Mahmoud and Longest Uncommon Subsequence time limit per test 2 seconds memory limit per test 256 ...

  8. Codeforces 766C Mahmoud and a Message 2017-02-21 13:57 62人阅读 评论(0) 收藏

    C. Mahmoud and a Message time limit per test 2 seconds memory limit per test 256 megabytes input sta ...

  9. Codeforces Round #396 (Div. 2) A B C D 水 trick dp 并查集

    A. Mahmoud and Longest Uncommon Subsequence time limit per test 2 seconds memory limit per test 256 ...

随机推荐

  1. elasticsearch 基础 —— 处理冲突及乐观并发控制

    处理冲突 当我们使用 index API 更新文档 ,可以一次性读取原始文档,做我们的修改,然后重新索引 整个文档 . 最近的索引请求将获胜:无论最后哪一个文档被索引,都将被唯一存储在 Elastic ...

  2. 工作中常用的linux命令大全

    文章内容参考:https://www.cnblogs.com/yjd_hycf_space/p/7730690.html  谢谢大佬的分享 系统信息  date  显示系统日期 cal + 年份 显示 ...

  3. day17 python re模块 简易爬虫

    day17 python   一.re模块     1.re模块的基础方法         查找findall() import re #re.findall(pattern,string,flags ...

  4. ServletContext对象初识

    什么是ServletContext? ServletContext代表一个web应用的环境(上下文)对象,ServletContext对象内部封装的是该web应用的信息.一个web应用只有一个Serv ...

  5. 3.自定义返回json格式的数据给前台(自定义Controller类中的Json方法)

    在mvc的项目中,我们前台做一些操作时,后台要返回一些结果给前台,这个时候我们就需要有一个状态来标识到底是什么类型的错误, 例如: 执行删除的时候,如果操作成功(1行受影响),我们需要返回状态为1并输 ...

  6. 【leetcode】436. Find Right Interval

    题目如下: 解题思路:题目要求的是对于任意一个区间i,要找出一个区间j,使得j的起点最接近i的终点.既然这样,我们可以把所有区间的终点组成一个列表,并按大小排序,使用二分查找就可以快速找到j区间.注意 ...

  7. 每天一个linux命令:head(15)

    head head命令用于显示文件的开头的内容.在默认情况下,head命令显示文件的头10行内容. 格式 head [参数] [文件] ​ 参数选项 参数 备注 -q 不显示文件名的头信息 -v 总是 ...

  8. Optional常用操作

    1. 常见操作 @Test public void test1() { F f = new F(); // of(非null对象) Optional<F> fOptional = Opti ...

  9. Dataphin的代码自动化能力如何助力商业决策

    前言 随着大数据趋势的迅速增长,数据的重要性与日俱增,企业内看数据.用数据的诉求越来越强烈,其中最常见的就是各种经营报表数据:老板每日早晨9点准时需要看到企业核心的经营数据,以便进行企业战略及方向决策 ...

  10. 基于Socket和OpenCV的实时视频传输

    https://blog.csdn.net/pengz0807/article/details/52204475