zoukankan      html  css  js  c++  java
  • LLppdd likes strings

    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 ightarrow 1 underline{100} 1))
    操作2:选择一段连续的数,将他们全部取反。 ((0 变成 1, 1 变成 0))((1 underline{001} 1 ightarrow 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) 元。

    心如花木,向阳而生。
  • 相关阅读:
    I2C调试
    linux读取cpu温度
    看react全家桶+adtd有感
    react学习1(搭建脚手架,配置less,按需引入antd等)
    去掉console.log,正式环境不能有console.log
    Vue的minix
    数组去重我总结的最常用的方法,其他不常用就不写了
    inline-block bug解决方法
    vue中使用less/scss(这是2.0 3.0就不需要手动配置了只需要安装依赖就行了)
    Vue 调用微信扫一扫功能
  • 原文地址:https://www.cnblogs.com/LLppdd/p/9341636.html
Copyright © 2011-2022 走看看