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

题解:AT_agc044_d [AGC044D] Guess the Password

简单题,我咋会做交互。

题意:有一个隐藏的长度 \(\le 128\) 的串,字符集为大小写字母和数字。现在你可以询问任意一个串和隐藏的这个串的编辑距离。询问次数需要 \(\le 850\)

做法:

首先我们发现一个事情,我们可以先对每种字符,询问这个字符重复 \(128\) 次的字符串,这样他返回的数是 \(x\),那么这个字符就出现了 \(128-x\) 次,显然是操作次数下界并且可以取到。这样我们就可以弄出来答案串长。

然后考虑怎么计算答案,我们考虑如果只有两种字符该咋做,那么我们就是把第二种字符的一个个从前往后插入第一种字符的间隙里。我们注意到,如果一个串是答案的子序列,那么他的长度加上编辑距离就是答案串长,所以我们可以尝试插入到第一个间隙,然后如果是子序列,就在这个字符后面继续在第一个间隙里插入,否则就尝试在第二个间隙插入,这样我们就可以很方便的在 \(|s_1|+|s_2|\) 次操作内合并两个串。

直接瞎合并肯定还是爆炸的,但是我们分治一下,总的操作次数就是 \(6n + 62\) 的,可以通过此题。

代码:

#include <bits/stdc++.h>
using namespace std;
const int maxn = 130;
int query(string s) {cout << "? " << s << endl;int x; cin >> x;return x;
}
char c[maxn];
int cnt[maxn], len;
string solve(int l, int r) {if(l == r) {string s;for (int i = 1; i <= cnt[l]; i++)s += c[l];//	cout << l << " " << s << endl;return s;}int mid = l + r >> 1;string s1 = solve(l, mid), s2 = solve(mid + 1, r);int p = 0; string nw = s1;for (int i = 0; i < s2.size(); i++) {string t = nw, s3; s3 += s2[i]; t.insert(p, s3);if(t.size() + query(t) == len) nw = t, p++;elsep++, i--;}return nw;
}
int main() {for (int i = 1; i <= 26; i++)c[i] = 'a' + i - 1;for (int i = 27; i <= 52; i++)c[i] = 'A' + i - 27;for (int i = 53; i <= 62; i++)c[i] = '0' + i - 53;for (int i = 1; i <= 62; i++) {string s;for (int j = 1; j <= 128; j++)s += c[i];int t = query(s);cnt[i] = 128 - t;len += cnt[i];}string ans = solve(1, 62);cout << "! " << ans << endl;return 0;
}
/*
abaabcb
*/
http://www.jsqmd.com/news/384884/

相关文章:

  • 论文写不动?8个AI论文平台测评:研究生毕业论文+学术写作必备工具推荐
  • GTK4 记事本项目实战 - 多标签页编辑器实现
  • 函数栈帧(Function Stack Frame)之二
  • 大数据场景时序数据库选型指南——Apache IoTDB实践与解析
  • 用过才敢说 9个AI论文平台测评:继续教育毕业论文写作必备工具推荐
  • 写作小白救星!全网顶尖的降AI率网站 —— 千笔·降AIGC助手
  • 4步搞定!人人都能拥有18岁OpenClaw AI女友Clawra
  • 摆脱论文困扰! 10个降AI率工具测评:自考降AI率必备神器
  • 别再瞎找了!10个AI论文工具深度测评:继续教育毕业论文写作必备神器
  • 初升高英语分班冲刺卷2026版:实战评测,提分必备,一模卷/重点名校卷/期末冲刺卷/冲刺卷,冲刺卷生产厂家选哪个 - 品牌推荐师
  • 【算法提高篇】(二)线段树之区间修改:懒标记的核心奥义与实战实现
  • 导师推荐!千笔写作工具,备受追捧的AI论文网站
  • KingbaseES约束机制:数据迁移中的数据完整性保障
  • 函数栈帧(Function Stack Frame)
  • 2026年最佳单北斗GNSS变形监测系统推荐榜单,助力大坝安全监测升级
  • 手把手教你用 Python 批量拼接图片(无需ps,适用快速修改拼接)
  • Linux 防火墙 iptables 中核心的四张表概述及其功能
  • (交易不活跃)的股票,在熊市中非常危险!
  • Redis如何保证与数据库的双写一致性
  • 我想找豆包做广告,怎么联系合规服务商? - 品牌2025
  • 2026金相显微镜市场新动态,优质供应商推荐,金相切割机/布洛维硬度计/电脑控制液压万能试验机,金相显微镜实力厂家选哪家 - 品牌推荐师
  • Claude Code 一键启动 + 自动安装:四种 macOS 终端的自动化实现与踩坑记录
  • FA_规划和控制(PC)-A*(规划01)
  • 2026成都现浇楼板公司技术哪家强?看排行!现浇屋顶/现浇钢筋混凝土/混凝土现浇,现浇楼板公司口碑推荐口碑排行 - 品牌推荐师
  • 2026采购陶百叶?这些口碑商家别错过,陶土板/陶砖/陶棍/陶百叶/陶板,陶百叶干挂材料电话 - 品牌推荐师
  • EasyTier 免费自建自用5$每个月的服务器
  • 巨象金业内地金融交易资质存疑,深夜黄金暴跌APP被曝滑点黑洞引争议!
  • 国内热门磨抛机生产厂家选哪家?2026优质厂商揭秘,全自动弹簧试验机/便携布氏硬度计,磨抛机源头厂家口碑推荐 - 品牌推荐师
  • 摆脱论文困扰!千笔AI,抢手爆款的降AIGC工具
  • 基于AIS数据集的机器学习船舶轨迹预测系统:新加坡水域船只监控与未来位置预测的挑战与解决方案