尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

滞留卡常题

滞留卡常题
📅 发布时间:2026/6/22 16:28:15
#include <bits/stdc++.h>using namespace std;const int N = 2e5 + 10;
const int M = N << 2;int n, cnt[27], a[N][27];
int tr[M][27], tag[M][27], pos[M][27];
int sum;
string str;void pushup(int op, int u)
{tr[u][op] = max(tr[u << 1][op], tr[u << 1 | 1][op]);if(tr[u << 1][op] >= tr[u << 1 | 1][op]) pos[u][op] = pos[u << 1][op];else pos[u][op] = pos[u << 1 | 1][op];
}void build(int op, int u, int l, int r)
{int mid = l + r >> 1;if(l == r){tr[u][op] = a[mid][op];pos[u][op] = mid;return;}build(op, u << 1, l, mid);build(op, u << 1 | 1, mid + 1, r);pushup(op, u);
}void modify(int op, int u, int L, int R, int c, int l, int r)
{if(L <= l && r <= R){tr[u][op] += c;tag[u][op] += c;return;}if(tag[u][op]){tag[u << 1][op] += tag[u][op];tr[u << 1][op] += tag[u][op];tag[u << 1 | 1][op] += tag[u][op];tr[u << 1 | 1][op] += tag[u][op];tag[u][op] = 0;}int mid = l + r >> 1;if(L <= mid) modify(op, u << 1, L, R, c, l, mid);if(R > mid) modify(op, u << 1 | 1, L, R, c, mid + 1, r);pushup(op, u);
}int ps;int qmax(int op, int u, int L, int R, int l, int r)
{if(L <= l && r <= R){ps = pos[u][op];return tr[u][op];}int mid = l + r >> 1;if(tag[u][op]){tag[u << 1][op] += tag[u][op];tr[u << 1][op] += tag[u][op];tag[u << 1 | 1][op] += tag[u][op];tr[u << 1 | 1][op] += tag[u][op];tag[u][op] = 0;}int ans = 0;if(R > mid) ans = max(ans, qmax(op, u << 1 | 1, L, R, mid + 1, r));if(L <= mid) ans = max(ans, qmax(op, u << 1, L, R, l, mid));return ans; 
}void query()
{int ans = sum - n;int pt = 1;for(int i = 2 ; i <= 26 ; i ++ ){int max_ = qmax(i, 1, pt, n, 1, n);if(max_ <= 0) break;ans -= max_;pt = ps;}cout << ans << '\n';
}
int main() 
{freopen("lock.in", "r", stdin);freopen("lock.out", "w", stdout);ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int q, op;cin >> op >> q;cin >> str;n = str.size();str = ' ' + str;for (int i = n ; i >= 1 ; i -- ){cnt[str[i] - 'a' + 1]++;sum += str[i] - 'a' + 1;int nsum = 0;for (int j = 26 ; j >= 1 ; j -- ){nsum += cnt[j];a[i][j] = nsum - (n - i + 1 - nsum);}}for (int i = 1; i <= 26; i++) build(i, 1, 1, n);query();while (q--) {int k;char x;cin >> k >> x;sum -= str[k] - 'a' + 1;for (int i = 1; i <= str[k] - 'a' + 1; i++) modify(i, 1, 1, k, -1, 1, n);for (int i = str[k] - 'a' + 2; i <= 26; i++) modify(i, 1, 1, k, 1, 1, n);str[k] = x;sum += x - 'a' + 1;for (int i = 1; i <= x - 'a' + 1; i++) modify(i, 1, 1, k, 1, 1, n);for (int i = x - 'a' + 2; i <= 26; i++) modify(i, 1, 1, k, -1, 1, n);query();}return 0;
}

相关新闻

  • Cursor ai network issue workaround in Ubuntu 22.04
  • 2025 年漆渣脱水设备厂家最新推荐榜单:优质品牌厂家工艺系统装置全解析,助力企业高效环保处置漆渣脱水系统/漆渣脱水机/漆渣脱水装置厂家推荐
  • [KaibaMath]1024 丑陋的真子集符号⫋的由来

最新新闻

  • 卖金多赚几百块!广州正规黄金回收Top5,实时跟盘报价无套路压价 - 奢侈品回收评测
  • 山东高考440-500分,能报考辽宁哪些大学?(2026最新) - 品牌2026
  • 终极指南:如何用OBS Virtual Cam插件打造专业级虚拟摄像头解决方案
  • LunaTranslator:如何轻松玩转日文GalGame的终极翻译解决方案
  • 生成式推荐中自回归预测与最大似然估计的等价性解析与实践指南
  • 报汉语言成考专升本,广东助学点通过率靠谱吗? - 一直爱学习的小花猫

日新闻

  • 2026速览惠州叛逆青少年学校前十大排名名单出炉 - 武汉中职最新信息发布
  • 2026上饶白蚁消杀哪家好?15年本土2大权威白蚁防治公司推荐(金盾虫控/青蚁卫士) - 我叫一
  • 天龙八部单机版终极数据管理工具:5个技巧快速掌握游戏数据编辑

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号