Codeforces Round #493 (Div. 2) C. Convert to Ones 乱搞_构造_好题
2024-08-31 10:30:54
每次肯定是对一段连续的 $0$ 或者 $1$ 进行操作.
对于一段连续的 $0$,要么直接变为 $1$,要么与右面的连续的 $1$ 交换.
如果与右面的 $1$ 翻转更加合适,那么就肯定会一直翻转,并在不能交换的时候变为 0.
否则,就会一直将子序列变为 $0$.
即 $ans=min(num[0]\times y,(num[0]-1)\times x+y)$
#include <cstdio>
#include <algorithm>
#define ll long long
#define setIO(s) freopen(s".in", "r" , stdin)
using namespace std;
ll x, y;
char str[300005];
int n ,a[2], i, pre = -1;
int main()
{
// setIO("input");
scanf("%d%lld%lld%s", &n, &x, &y, str + 1);
for(i = 1; i <= n ; ++ i)
{
int cur = str[i] - '0';
scanf("%d", &cur);
if(cur != pre) ++ a[cur], pre = cur;
}
printf("%lld\n", max(1ll*0, min(1ll * a[0] * y, 1ll * (a[0] - 1) * x + y)));
return 0;
}
最新文章
- oracle内存粒度
- chrome快捷键,让开发更快捷:
- 无需u盘和光盘安装linux
- html 页面 ajax 方法显示遮罩
- [PeterDLax著泛函分析习题参考解答]第2章 线性映射
- [Falcor] Retrieving Multiple Values
- POJ2002 二分查找&;哈希
- [html5] canvas 绘图:八卦图
- 牛客挑战赛30 小G砍树 树形dp
- MySQL之——崩溃-修复损坏的innodb:innodb_force_recovery
- MVC 2nd
- LNP环境下Nginx与PHP配合解析的原理
- OWASP TOP10(2017)
- 九个问题从入门到熟悉HTTPS
- 团队项目(第四周冲刺之二)—GG队
- Java8新特性 -- Lambda 方法引用和构造器引用
- OPENCV Linux安装
- java-----instanceof与getClass的区别
- 【微信小程序】转载:微信小程序之购物车功能
- CentOS 中安装nginx