当前位置: 首页 > news >正文

软件开发招标网站今日国内新闻摘抄十条

软件开发招标网站,今日国内新闻摘抄十条,四川超宇建设集团网站,dede网站收录题目内容 原题链接 给定一个长度为 n n n 的 01 01 01 字符串,对于一个子串 s u b sub sub ,子串内部的 0 0 0 的数量为 x x x ,子串以外的 1 1 1 的数量为 y y y ,子串的代价为 m a x ( x , y ) max(x, y) max(x,y) &…

题目内容

原题链接

给定一个长度为 n n n 01 01 01 字符串,对于一个子串 s u b sub sub ,子串内部的 0 0 0 的数量为 x x x ,子串以外的 1 1 1 的数量为 y y y ,子串的代价为 m a x ( x , y ) max(x, y) max(x,y) ,问代价最小是多少。

数据范围

  • 1 ≤ n ≤ 2 × 1 0 5 1\leq n \leq 2\times 10^5 1n2×105

题解

解法1

二分答案 m i d mid mid,枚举子串右端点,当 x ≥ y x\geq y xy ,则不停移动左端点。然后取 m a x max max 判断是否存在一个子串的代价小于等于 m i d mid mid

时间复杂度: O ( n log ⁡ n ) O(n\log n) O(nlogn)

解法2

从二分答案中可以考虑到,枚举右端点,当 x ≥ y x\geq y xy ,就需要不停移动左端点,直到 x ≤ y x\leq y xy
这样就不需要二分答案了,只是一个双指针。

时间复杂度: O ( n ) O(n) O(n)

代码

#include <bits/stdc++.h>
using namespace std;void solve() {string s;cin >> s;int n = int(s.size());int all1 = 0;for (auto c: s) all1 += c == '1';int ans = n - all1;int in0 = 0, out1 = all1;for (int r = 0, l = 0; r < n; ++r) {int v = s[r] - '0';if (v == 0) in0 += 1;else out1 -= 1;while (l <= r && in0 > out1) {v = s[l] - '0';if (v == 0) in0 -= 1;else out1 += 1;l += 1;}ans = min(ans, max(in0, out1));}cout << ans << "\n";
}int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);int T;cin >> T;while (T--) solve();return 0;
}
http://www.15wanjia.com/news/47251.html

相关文章:

  • 京东网站是谁做的seo关键词优化排名推广
  • 做中英双语切换的网站网站seo的内容是什么
  • 郑州 手机网站制作找资源
  • 国内做轮胎网站哪家好免费的黄冈网站有哪些
  • 营销型网站建设哪里有上海最大的seo公司
  • 入驻微信小程序多少钱seo培训网
  • 上国外网站用什么机箱好营销型网站建设实训总结
  • 介绍网站建设精准的搜索引擎优化
  • 清溪网站建设公司网站制作价格
  • 用腾讯云做网站网络营销课程论文
  • 淳安住房和城乡建设委员会网站网络口碑推广公司
  • 如何在自己电脑上做网站2345手机浏览器
  • 国度网络网站建设网络策划
  • 单位网站的方案企业营销策划书
  • 做的好的营销型网站有哪些东莞关键词排名推广
  • 网站无后台可以上框架手机卡顿优化软件
  • 网站备案幕布照片百度网盘提取码入口
  • wordpress谷歌搜索链接权重被劫持某企业网站的分析优化与推广
  • seo诊断服务惠州seo代理计费
  • 网站搭建外贸营销网站
  • 购物网站开发 项目描述谷歌chrome浏览器下载
  • 网站开发宝典产品推广怎么做
  • 网站开发年薪第三方网站流量统计
  • 汉中网站建设自媒体推广
  • 网站外链 快速建设开封seo推广
  • 爱做电影网站服装品牌策划方案
  • 做个公司网站需要什么钱以品牌推广为目的的广告网络平台
  • asp网站开发教程怎么做线上销售
  • 网站建设答案全国防疫大数据平台
  • 想制作一个网站怎么来做sem是什么的英文缩写