IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C. Binary String(推式子) -> 正文阅读

[C++知识库]C. Binary String(推式子)

链接:Educational Codeforces Round 128 (Rated for Div. 2) - C

题意:

给定字符串s,可以从开头删去一部分,还可以从末尾删除一部分,求这个式子最小值:

max (删去的1个数,剩下的0个数)。

做法:

设剩下的子串,左端点为l,右端点为rsum[]是前缀和,意思是前缀中1的个数。

删去的1:sum[n] - (sum[r] - sum[l - 1])

剩下的0:r-l +1- (sum[r] - sum[l-1])

很显然后面那部分是相同的,所以可以分类讨论前面的式子。

sum[n]\geq r-l+1

(sum[r] - sum[l - 1]) 要最大化,且lr的距离不超过sum[n](sum[r] - sum[l - 1])的物理意义是,剩下的串中1的个数,显然lr的距离越大,这个值才会越大。

sum[n]< r-l+1

这里与上面的情况稍稍不同,要看整个式子本身了,r-l +1- (sum[r] - sum[l-1]),意义是剩下的0的个数,很明显长度越小,这个式子的值才可能越小,且长度要大于sum[n]

char s[N];
int sum[N];
void solve()
{
    scanf("%s", s + 1);
    int n = strlen(s + 1);
    for (int i = 1; i <= n; i++)
    {
        sum[i] = sum[i - 1] + s[i] - '0';
    }
    int ans = 1e18;
    int len = sum[n];
    for (int i = 1; i + len - 1 <= n; i++)
    {
        ans = min(ans, len - (sum[i + len - 1] - sum[i - 1]));
    }
    for (int i = 1; i + len <= n; i++)
    {
        ans = min(ans, len + 1 - (sum[i + len] - sum[i - 1]));
    }
    cout << ans << "\n";
}

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-05-18 17:26:01  更:2022-05-18 17:26:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/10 23:58:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码