CF1886
分类讨论。
二分。
题意:给定一个字符串 \(s\)。记 \(s_i\) 为将 \(s\) 删去 \(i\) 个字符,使得剩余字符串字典序最小得到的字符串。令 \(S=s_0+s_1+\dots+s_{sz-1}\)。现在要询问 \(S[pos]\) 是哪个字符。
通过一些取模,加减可以求出,我们是要求 \(s_{x}\) 的第 \(y\) 个字符。
要字典序最小,显然应该删去最靠前的,比后一个字符大的字符。
这个操作类似单调栈,我们就按单调栈依次加入字符,如果栈顶比现在的大,就 pop,同时记录删去了多少个字符。
一个字符串 \(s\),初始为空。将 \(1\sim n\) 按某种顺序加入一个序列中,除了第一个元素外,执行以下操作:
如果新加入元素是最小值,在 \(s\) 末尾加一个
<;是最大值,加一个
>;否则加一个
?。
现在告诉你最后的 \(s\),你需要回答有多少种加入顺序能满足 \(s\)。另外,还有 \(m\) 次单点修改,每次将 \(s\) 的一个字符改成 >,<,? 中一个。需要在每次修改后都回答一次答案。
将加入序列反过来,看作在 \(1\sim n\) 中删除元素。发现如果是 >,<,只有一种方案;而 ? 的方案数就是当前个数 - 2。所以若 \(s_i=?\),则 \(ans\times (i-1)\) 即可。
还有个问题:若 \(s_1=?\),\(ans=0\)。所以还需要记录 \(ans2\) 为 \(s_{2\sim n}\) 的答案。
随机推荐
- plsql打开报错:Control 'dxDockBrowserPanel' has no parent window问题解决
一.现象: 使用plsql登陆oracle数据库时,登陆信息没有报错,但是最后一步报错,重启电脑依然没有解决 一直报:" Control 'dxDockBrowserPanel' has n ...
- 2023年度总结,互联网寒冬是躺平OR寻找风口
一.前言 又到了年底,这一年过的真的好快,犹如白驹过隙. 身体快跃过去了,灵魂还没有. 拿起键盘却迟迟无法下手,经过三天终于完成了! 这是很颓很丧的一年,很难看到自己的成长,就像登山卡在半山腰,开车堵 ...
- [转帖]ipv6相关内核参数配置的优化实践
https://zhuanlan.zhihu.com/p/605217713 调整ARP缓存大小 这个参数通常需要在高负载的访问服务器上增加.比如繁忙的网络(或网关/防火墙 Linux 服务器),再比 ...
- Grafana针对内存监控值的学习与使用
Grafana针对内存监控值的学习与使用 背景 因为学习内存相关的知识, 可以通过pgcacher/sar -r 等命令监控系统信息. 但是现在发现. 不太直观, 所以想着使用别的方式来进行处理. 然 ...
- 极简版本Clickhouse监控步骤
极简版本Clickhouse监控步骤 背景 昨天处理了 鲲鹏920 上面的Clickhouse 的基于Docker的安装与部署 今天想着能够继续处理一下 增加监控信息 能够实现对clickhouse使 ...
- [转帖]UNIX SOCKET简介
UNIX Domain SOCKET 是在Socket架构上发展起来的用于同一台主机的进程间通讯(IPC).它不需要经过网络协议栈,不需要打包拆包.计算校验和.维护序列号应答等.只是将应用层数据从一个 ...
- [转帖]ss 输出格式说明
ss 命令输出详解ss 全名socket statistics,是iproute2中的一员ss已经替代netstat,大热于江湖.但是关于ss命令输出的内容,是什么意思呢? [root@test]# ...
- [转帖]Docker:Python环境Docker镜像瘦身
https://www.jianshu.com/p/c0ad13e0be85 关键字:Docker,Python 原始镜像 封装一个Python 3.7的环境并且安装Python依赖包实现一个机器学习 ...
- [转帖]Linux中split大文件分割和cat合并文件详解
https://www.yingsoo.com/news/servers/70195.html 当需要将较大的数据上传到服务器,或从服务器下载较大的日志文件时,往往会因为网络或其它原因而导致传输中断而 ...
- [转帖]五类IP的范围
五类IP的范围 IP地址分为A,B,C,D,E五类. 网络号:用于识别主机所在的网络: 主机号:用于识别该网络中的主机. 其中A类分配给政府机关使用,B类地址给大中型企业使用,C类地址给个人使用.这 ...