Luogu P11361 [NOIP2024] 编辑字符串 题解

news/2025/11/4 14:29:36/文章来源:https://www.cnblogs.com/Tsuukaku/p/19190233

Link。

观察题。一个有趣的事实是题解中提到的所有错解我还真都想过一次,比如贪心 pick 最长的连续 \(1\) 段以及尝试合并上下连续的 \(1\) 段。这题的数据范围和特殊性质做的不错,顺着来想比较好考虑问题。

对于 \(\rm A\) 情况,\(s_1\) 所有字符都相同,那么答案是一定的;对于 \(t_1 = t_2\) 的情况,由于限制是一定的,这启发我们在一定位置做了移动的限制下,由于不限制移动次数,我们理论上可以将所有连续的不被限制的数任意排出想要的顺序,所以对于 \(\rm B\) 去看自由移动段的 \(0/1\) 匹配个数之和就是答案;对于 \(|t_{1, i} = 0| = |t_{2, i} = 0| = 1\) 的情况是用来让我们毙掉一些假贪心的,比如 edit_2 里的第二组样例,这个性质 \(\rm C\) 提示我们按照 \(0\) 的位置来 split 开序列形如 \([1, p_0) [p_0, p_0], (p_0, n]\)。然后根据 \(\rm B\) 中我们观察到的结论,“连续段中可以任意排列出想要的 \(01\) 串”,我们对于每个位置贪心地去交换做匹配。

具体地,对于正解:由于连续的 \(1\) 可以任意排列,将连续的 \(1\) 串并为一个区间。考虑怎么贪心地匹配获得最大收益,记 \(c1_{i, 0}, c1_{i, 1}, c2_{i, 0}, c2_{i, 1}\) 分别表示对于串 \(s_1, s_2\) 中连续区间的 \(0/1\)\(cnt\),枚举配对串 \(1 \to n\),分类讨论:

  1. 如果 \(t_{1, i} = t_{2, i} = 0\),那么直接检查 \(s_{1, i}\) 是否等于 \(s_{2, i}\) 即可
  2. 如果 \(t_{1, i} = 0, t_{2, i} \neq 0\),检查是否存在 \(c2_{loc(i), s_{1, i}} \gt 0\) 然后更新答案和 \(c2\)
  3. 如果 \(t_{2, i} = 0, t_{1, i} \neq 0\),同上类似地去检查 \(c1\) 并更新
  4. 如果 \(t_{1, i} = t_{2, i} = 1\),也就是都没有限制,我们直接用 之前已经配对固定位置之后 剩下来的 \(0/1\) 个数各自 \(- 1\) 更新。
#include <bits/stdc++.h>using i64 = long long;void solve() {int n;std::cin >> n;std::string s1, s2, t1, t2;std::cin >> s1 >> s2 >> t1 >> t2;s1 = "$" + s1, s2 = "$" + s2;t1 = "$" + t1, t2 = "$" + t2;std::vector<std::vector<int>> cnt1(n + 2, std::vector<int>(2)),cnt2(n + 2, std::vector<int>(2));std::vector<int> to1(n + 1), to2(n + 1);int o = 0;for (int i = 1; i <= n; i++) {if (t1[i] != t1[i - 1])to1[i] = ++o;elseto1[i] = to1[i - 1];cnt1[to1[i]][s1[i] - '0']++;}o = 0;for (int i = 1; i <= n; i++) {if (t2[i] != t2[i - 1])to2[i] = ++o;elseto2[i] = to2[i - 1];cnt2[to2[i]][s2[i] - '0']++;}int ans = 0;for (int i = 1; i <= n; i++) {if (t1[i] == '0' && t2[i] == '0') {if (s1[i] == s2[i])ans++;} else if (t1[i] == '0') {if (cnt2[to2[i]][s1[i] - '0']) {cnt2[to2[i]][s1[i] - '0']--;ans++;}} else if (t2[i] == '0') {if (cnt1[to1[i]][s2[i] - '0']) {cnt1[to1[i]][s2[i] - '0']--;ans++;}}}for (int i = 1; i <= n; i++) {if (t1[i] == '1' && t2[i] == '1') {if (cnt1[to1[i]][0] && cnt2[to2[i]][0]) {cnt1[to1[i]][0]--;cnt2[to2[i]][0]--;ans++; continue;}if (cnt1[to1[i]][1] && cnt2[to2[i]][1]) {cnt1[to1[i]][1]--;cnt2[to2[i]][1]--;ans++;}}}std::cout << ans << "\n";
}int main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr);int t;std::cin >> t;while (t--) {solve();}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/955679.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI辅助编程下的软件分层设计:让生成的代码井然有序

在人工智能(AI)辅助编程日益普及的今天,我们编码的方式正在经历一场前所未有的变革。 AI 工具如 QWenCoder,TreaCN等,能够帮助我们快速生成代码,极大地提升了开发效率。 然而,这也带来了一个新的挑战: 如何确保…

2025年钢管总成加工厂权威推荐榜单:液压钢管总成/硬管总成品牌/免焊接钢管总成源头厂家精选

在工业装备与流体传输系统日益精密的今天,一套高品质的钢管总成已成为保障系统安全与稳定运行的关键环节。 钢管总成作为工业设备中传递介质、连接系统的核心部件,其质量直接影响整个系统的可靠性与寿命。为帮助您精…

2025年变电站接地线定做厂家权威推荐榜单:便携型接地线/单簧卡口接地线/电厂专用接地线源头厂家精选

在电力安全标准持续升级的背景下,变电站接地线作为保障电力作业安全的关键设备,其定制化市场需求显著增长。据2025年电力行业安全器具分析报告显示,中国变电站接地线市场规模已达86亿元,年增长率稳定在18%以上。 随…

关于Dify工作流的项目实现与思考

最近公司搭建基于DIFY的工作流,参与了部分工作,记录一下所思所想。 1、项目应用的关键技术有:.NET、Python、DIFY 2、.NET作为公司代码语言,提供工作流所需的所有的查询接口 3、Python用来实现Dify和.Net和钉钉之间…

2025年河北搬家渠道权威推荐榜单:河北单位搬迁/河北搬运小时工/河北大型设备搬运服务精选

在京津冀协同发展持续深化的背景下,一次专业可靠的搬家服务已成为企业高效运营和家庭顺利乔迁的重要保障。 作为物流行业的重要组成部分,搬家服务的专业性与可靠性直接影响着企业和居民的搬迁体验与效率。据2024年行…

2025年顶尖候车亭/公交站台//电子站牌/公交站牌/公交候车厅厂家: 江苏兰太城市科技领跑

2025年顶尖候车亭/公交站台//电子站牌/公交站牌/公交候车厅厂家: 江苏兰太城市科技领跑 摘要 随着城市化进程加速和公共交通需求增长,公交候车厅行业在2025年迎来快速发展,环保、智能化和定制化成为主流趋势。本文基…

华为高斯Gauss数据库版本与兼容协议--详解(附带Gorm连接示例代码) - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

任务栏图标变空白

win+r->cmd,在命令行窗口依次输入如下代码:taskkill /im explorer.exe /fcd /d %userprofile%\appdata\localdel iconcache.db /astart explorer.exe

2025年酒店剃须刀生产厂家权威推荐榜单:一次性剃须刀套装/女士刮毛刀/刮胡刀供应商精选

在酒店用品采购领域,一次性剃须刀虽是小物件,却直接影响着客户体验。行业数据显示,超过68%的商务旅客会将客房配备的剃须刀质量列为重要服务指标。 在酒店用品行业,剃须刀作为个人护理用品的重要组成部分,其品质直…

打开word或PDF,在同目录下自动生成debug.log文件,文件大小0字节!最后发现竟然是一个时时刻刻都要用到的软件引起的

问题描述: 最近使用了ai编辑器后,就发现在打开word文档或者PDF文档时,总是在同级目录下生成debug.log文件,这个文件很诡异,大小为0字节,里面是空的,没有内容。 通过搜索类似问题,发现并没有有效的线索,没有跟…

2025年铸铁修正轮企业权威推荐榜单:丸片修正轮/金刚石丸片修正轮/镀砂修正轮源头厂家精选

在机械加工精度要求日益提升的今天,一片高质量的铸铁修正轮已成为保障磨床加工精度与效率的关键耗材。 作为磨床加工过程中的重要修整工具,铸铁修正轮的精度与耐用性直接影响着工件的加工质量与生产成本。据2024年行…

西南地区钢结构工程设计施工服务TOP5推荐:钢结构工程设计服务商哪个靠谱

在西南地区(重庆、云南、贵州、四川)工业经济快速发展的背景下,钢结构工程因绿色环保、施工周期短等优势成为工业厂房、仓储物流中心的优选方案。但客户常面临设计、施工、材料环节割裂导致的成本超支、工期延误、质…

2025年防水卷材供应商权威推荐榜单:防水涂料/堵漏材料/外墙防水涂料源头厂家精选

作为建筑工程中不可或缺的功能性材料,防水卷材的性能直接影响建筑物的防水效果与使用寿命。据2024年行业数据显示,中国防水卷材市场规模已突破1800亿元,其中新型自粘卷材占比达52%,年增长率稳定在9.5%。 为帮助工程…

2025年不锈钢门定制工厂排名,不锈钢酒柜定制公司推荐

2025年装饰领域快速迭代,不锈钢门、不锈钢酒柜等定制金属制品凭借耐用性与高级质感,成为别墅、酒店、商业空间的核心装饰选择。然而市场中供应商良莠不齐:设计落地偏差大、尺寸精度失控、售后缺失等问题频发,客户陷…

1000UserGuide:独立开发者获取前1000个用户的终极指南

1000UserGuide是一个专为独立开发者和创业者设计的资源手册,提供国内外优质曝光渠道、营销策略和实战案例,帮助产品快速获取早期用户,建立稳固的用户基础。:rocket: 1000UserGuide项目简介 1000UserGuide 是一个专门…

2025 年仿石漆厂家最新推荐品牌排行榜 —— 涵盖真石漆、水包砂、冠晶石等品类,权威剖析前沿品牌核心竞争力

引言 当前仿石漆行业发展迅速,市场品牌与厂家数量众多,产品质量及服务水平参差不齐,给消费者与采购方带来极大选择困扰。为精准筛选优质品牌,本次榜单由行业权威协会主导测评,测评过程严格遵循多维度标准:从产品…

2025年不锈钢家具定制工厂推荐:5家靠谱专业不锈钢机构全解析

在高级金属定制领域,不锈钢家具因耐用性、设计感与场景适配性,成为别墅、酒店、商业空间的优选。但市场上供应商良莠不齐,企业和业主常困惑:不锈钢家具定制工厂哪个靠谱?不锈钢定制加盟公司找哪些?不锈钢家具定制…

2025年重庆叛逆孩子强制管教学校排行榜推荐

在当今社会,青少年叛逆问题成为许多家长的心病。上班没时间管孩子、没有管理叛逆孩子的方法、不懂如何与孩子交流等问题,让家长们在面对叛逆孩子时常常感到束手无策。孩子对抗不知道如何应对、宠溺的孩子无法管教、孩…

2025 年清污机源头厂家最新推荐榜单权威发布,聚焦耐腐蚀技术与智能清污实力,结合协会测评数据精选品牌回转式格栅/不锈钢清污机公司推荐公司推荐

引言 在水利工程、污水处理、市政建设等领域,清污机是保障水体环境质量与工程运行效率的关键设备。为助力行业从业者与采购方精准筛选优质产品,本次榜单由专业水利机械协会全程参与测评,采用 “技术指标 + 实际应用…

CSP2025 题解

CSP2025你猜我为什么不写游记。 社团招新(club) 直接贪心即可。 #include<bits/stdc++.h> #define Debug puts("-------------------------") using namespace std; const int N=1e5+5;inline int r…