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

软件开发招标网站网站入口百度

软件开发招标网站,网站入口百度,企业建站程序哪个好,网站设计的价格题目内容 原题链接 给定一个长度为 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.dinnco.com/news/81792.html

相关文章:

  • 建立一个独立网站多少钱seo建站是什么
  • h5网站制作平台有哪些win10系统优化软件哪个好
  • 代做网站转账截图宣传软文是什么
  • 三台网站建设哪家专业百度权重怎么看
  • 苏州做网站费用网站seo检测工具
  • 网站的js效果代码关键词推广优化排名品牌
  • 长春美容网站建设深圳优化公司统高粱seo
  • 西部数码淘宝怎样优化关键词
  • 会员收费网站怎么做seo主要做哪些工作
  • 建设网站有哪些目的是什么意思百度官网登录
  • 营销网站优化seosem竞价推广托管
  • 微网站 域名百度网盘破解版
  • 衢州市建设工程质量监督站网站郑州seo教程
  • 回忆网站怎么做网络营销的工具有哪些
  • 淮北市11月30日疫情徐州seo排名公司
  • 有没有做武棍的网站网站策划是做什么的
  • 国内互联网前十名的公司网站的seo方案
  • pc网站转wap网站网站开发北京公司
  • 外贸网站建设工作室seo关键词推广渠道
  • 群晖 做网站 Java网站优化及推广方案
  • 免费下载ppt模板网站有哪些app网络推广方案
  • 电脑可以做网站服务器吗网站推广优化外链
  • 东山县建设局网站百度一级代理商
  • 宁波企业自助建站企业培训权威机构
  • 营销广告策划方案谷歌seo查询
  • 企业网站有什么功能网站seo思路
  • 做律师网站公司教育培训机构营销方案
  • asp.net 4.0网站开发与项目实战兰州网络seo
  • 汽车行业网站设计培训网
  • 网站设计模板 优帮云seo运营学校