CF997A Convert to Ones

题目大意:

给你一个长度为 nn 的01串( n $\leq 3*10^5$ ),你有两种操作:

1.将一个子串翻转,花费 XX

2.将一个子串中的0变成1,1变成0,花费 YY

求你将这个01串变成全是1的串的最少花费。

首先,你要操作的次数一定是这个串中0的段数,操作2覆盖消去一段0,操作1翻转将两段合并成一段

如果单纯考虑操作2,需要进行cnt次(这个串中0的段数),

如果单纯考虑操作1,需要进行cnt-1次(这个串中0的段数)+1(必须进行操作2)。

既然操作1,2的效果是一样的,那么cnt-1次就可以取最小的x,y去操作,最后再加上最后一次覆盖即可。

#include<bits/stdc++.h>

using namespace std;
string s;
int x,y,n;
int main() {
cin>>n>>x>>y;
cin>>s;
int cnt=;
s[s.length()]='';
for(int i=;i<s.length();i++){
if(s[i]==''&&s[i+]=='') ++cnt;
}
if(!cnt) printf("");
else printf("%lld",1ll*min(x,y)*(cnt-)+y);
return ;
}

CF997A Convert to Ones的更多相关文章

  1. 洛谷 CF997A Convert to Ones

    洛谷 CF997A Convert to Ones 洛谷传送门 题意翻译 给你一个长度为 nn 的01串( n \leq 310^5n*≤3∗105 ),你有两种操作: 1.将一个子串翻转,花费 XX ...

  2. 洛谷CF997A:Convert to Ones

    温馨提示: 本题适合先思考再看题解,相信各位神犇都能轻轻松松过掉它. 题目链接: https://www.luogu.com.cn/problem/CF997A 分析: 首先要读懂题,to ones, ...

  3. Convert BSpline Curve to Arc Spline in OpenCASCADE

    Convert BSpline Curve to Arc Spline in OpenCASCADE eryar@163.com Abstract. The paper based on OpenCA ...

  4. Convert.ToInt32()、int.Parse()和(int)三者的区别

    Convert.ToInt32将object类类型转换成int类型,如Convert.ToInt32(session["shuzi"]); (int)适合简单数据类型之间的转换: ...

  5. Leetcode: Convert sorted list to binary search tree (No. 109)

    Sept. 22, 2015 学一道算法题, 经常回顾一下. 第二次重温, 决定增加一些图片, 帮助自己记忆. 在网上找他人的资料, 不如自己动手. 把从底向上树的算法搞通俗一些. 先做一个例子: 9 ...

  6. [LeetCode] Convert a Number to Hexadecimal 数字转为十六进制

    Given an integer, write an algorithm to convert it to hexadecimal. For negative integer, two’s compl ...

  7. [LeetCode] Convert Sorted List to Binary Search Tree 将有序链表转为二叉搜索树

    Given a singly linked list where elements are sorted in ascending order, convert it to a height bala ...

  8. [LeetCode] Convert Sorted Array to Binary Search Tree 将有序数组转为二叉搜索树

    Given an array where elements are sorted in ascending order, convert it to a height balanced BST. 这道 ...

  9. 5 Convert Sorted List to Binary Search Tree_Leetcode

    Given a singly linked list where elements are sorted in ascending order, convert it to a height bala ...

随机推荐

  1. Java 实现抽象工厂模式

    抽象工厂模式 里面有几个概念:抽象工厂.实体工厂.抽象产品.实体产品 抽象工厂:定义创建产品的抽象方法 实体工厂:详细的创建哪种产品 抽象产品:一个接口或基类 实体产品:实现详细功能,或派生 类图 ...

  2. poj-1635 Subway tree systems(推断两个有根树是否同构)-哈希法

    Description Some major cities have subway systems in the form of a tree, i.e. between any pair of st ...

  3. install yael on the ubuntu 12.04

    1. bits/predefs.h no such file or directory  ??? sudo apt-get install gcc-multilib 2. sudo gedit /et ...

  4. mysql 多日志表结果集合拼接存储过程

    通常单天的日志 仅仅记录当天的日志信息,假设须要查看一月内的日志信息须要对每天的日志表结果集合进行拼接,通经常使用到 union . 储存过程: drop PROCEDURE if EXISTS un ...

  5. JavaScript Patterns 1 Introduction

    1.1 Pattern "theme of recurring events or objects… it can be a template or model which can be u ...

  6. 【bzoj1251】序列终结者(伸展树)

    [bzoj1251]序列终结者(伸展树) Description 网上有许多题,就是给定一个序列,要你支持几种操作:A.B.C.D.一看另一道题,又是一个序列 要支持几种操作:D.C.B.A.尤其是我 ...

  7. P2597 [ZJOI2012]灾难 拓扑排序

    这个题有点意思,正常写法肯定会T,然后需要优化.先用拓扑排序重构一遍树,然后进行一个非常神奇的操作:把每个点放在他的食物的lca上,然后计算的时候直接dfs全加上就行了.为什么呢,因为假如你的食物的l ...

  8. Mariadb-lib

    mariadb-libs-5.5.44-2.el7.centos.x86_64

  9. PCB CAM自动化程序协同业务流

    最近IBM在做预审阶段的参数信息提取相关的工作,关于Gerber中的图形方面的信息数据,需由工程IT提供异步Web接口,供IBM创建任务,待Gerber图形信息分析完成后再结果将数据返回给IBM;这里 ...

  10. Python3安装Scrapy

     Microsoft Visual C++ Build Tools 最近项目在写爬虫,项目经理给了个Python Scrapy的爬虫项目,要求使用Java实现相关功能.于是乎在本地先后安装了Pytho ...