打卡信奥刷题(3471)用C++实现信奥题 P10564 [ICPC 2024 Xi‘an I] Rubbish Sorting

发布时间:2026/10/27 4:39:20

打卡信奥刷题(3471)用C++实现信奥题 P10564 [ICPC 2024 Xi‘an I] Rubbish Sorting P10564 [ICPC 2024 Xi’an I] Rubbish Sorting题目描述Bob 有很多垃圾。有一天他想要对它们进行分类。对于每一件垃圾其类型用一个正整数表示。他有qqq个操作。对于每个操作可能是以下两种操作之一。1 s x他告诉你名为sss的垃圾类型为xxx。2 s他想询问你垃圾sss的类型。但他的记忆并不总是准确的。对于每个操作222sss可能没有在之前的操作111中出现过。我们定义两个字符串s1s_1s1​和s2s_2s2​的相似度为∑i1min⁡{∣s1∣,∣s2∣}[s1,is2,i]\sum_{i1}^{\min\{|s_1|,|s_2|\}} [s_{1,i}s_{2,i}]∑i1min{∣s1​∣,∣s2​∣}​[s1,i​s2,i​]。这里所有字符串的索引从111开始。对于一个字符串sss其类型是与sss相似度最大的字符串的类型在所有之前操作111中出现过的字符串中。如果有多个字符串与sss的相似度都最大那么sss的类型是这些字符串类型中的最小值。现在他希望你解决这个问题。输入格式第一行包含一个整数q(1≤q≤3×105)q(1\le q\le 3\times 10^5)q(1≤q≤3×105)表示操作的数量。接下来的qqq行包含操作每行一个。它们对应于题目中给出的描述。保证对于每个操作222在它之前至少有一个操作111。但有些垃圾会有多种类型你可以将其视为你读到的最小类型。垃圾的名称仅由小写拉丁字母组成。1≤∣s∣≤5,1≤x≤1091 \le |s| \le 5, 1 \le x \le 10^91≤∣s∣≤5,1≤x≤109。输出格式对于每个操作222你应该在单独的一行中输出一个整数即垃圾sss的类型。输入输出样例 #1输入 #14 1 aaa 1 2 aa 1 ab 2 2 bb输出 #11 2说明/提示由 ChatGPT 4o 翻译C实现#includebits/stdc.husingnamespacestd;intq,x,ans,p;mapstring,intmp;mapstring,intop;structnode{intp,v;node(intp_-1,intv_1e9):p(p_),v(v_){}};voiddfs1(string s,intcur){//枚举状态并存入if(cur5){intcnt0;for(charc:s)if(c!%)cnt;//匹配度if(!mp.count(s)||cntmp[s]||(cntmp[s]xop[s])){mp[s]cnt;op[s]x;}return;}dfs1(s,cur1);//改变或者不改变chartmps[cur];s[cur]%;dfs1(s,cur1);s[cur]tmp;return;}nodedfs2(string s,intcur){if(cur5){if(mp.count(s))returnnode(mp[s],op[s]);returnnode();}node resdfs2(s,cur1);chartmps[cur];s[cur]%;node res2dfs2(s,cur1);if(res2.pres.p||(res2.pres.pres2.vres.v))resres2;returnres;}intmain(){ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);cinq;while(q--){into;string s;cinos;while(s.size()5)s%;//补全长度if(o1){cinx;dfs1(s,0);}else{node resdfs2(s,0);coutres.v\n;}}return0;}后续接下来我会不断用C来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现记录日常的编程生活、比赛心得感兴趣的请关注我后续将继续分享相关内容
延伸阅读

更多相关文章

2026/10/26 21:29:56

如何免费突破百度网盘限速:终极直链解析工具完整指南

如何免费突破百度网盘限速:终极直链解析工具完整指南 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 你是否也曾被百度网盘的非会员下载速度折磨得焦头烂额&#x…

2026/10/26 13:07:35

DM6435嵌入式系统:交换矩阵架构与EDMA3数据传输优化实践

1. 系统互连架构:DM6435的数据高速公路设计哲学在嵌入式处理器,尤其是像TMS320DM6435这样的高性能数字媒体处理器中,系统互连架构的设计直接决定了整个芯片的“交通”效率。你可以把它想象成一座现代化城市的交通网络:CPU核心是市…

2026/10/26 23:10:06

Unity回合制战斗系统开发:从状态机到性能优化的5个核心问题

1. 项目概述:从“阴阳师”式神战斗看回合制游戏开发的复杂性 做Unity3D游戏开发,特别是回合制品类,总绕不开一个标杆——《阴阳师》。它的式神战斗系统,以其华丽的技能特效、复杂的策略搭配和流畅的回合体验,成为了无数…

2026/10/27 4:37:57

Marketing Skills本质是商业反应系统

1. “marketingskills”不是技能清单,而是一套可验证的商业反应系统你搜“marketingskills”,页面上跳出的全是“10大必备技能”“5个高薪岗位要求”“零基础入门指南”——但没人告诉你:真正的marketing skills根本不是你会不会写文案、会不…

2026/10/27 4:37:57

Linux环境变量配置与管理实战指南

1. Linux环境变量基础概念解析环境变量是Linux系统中一个看似简单却影响深远的核心机制。作为在Shell会话和子进程中可用的动态命名值,它们像空气一样渗透在系统的每个角落。我第一次真正理解环境变量的重要性,是在一次服务器部署事故后——由于PATH变量…

2026/10/27 4:37:57

前端性能优化全链路实战:从首屏加载到交互流畅

1. 前端性能优化全景认知十年前我刚入行前端时,性能优化还停留在YSlow的23条军规。如今在5G和WebAssembly时代,性能标准已从"秒开"进化到"毫秒级响应"。最近帮某电商平台做性能审计时发现,即使经过常规优化,他…

2026/10/27 4:37:57

Docker网络深度解析:从底层原理到生产环境规划与故障排查

Docker 用久了你会发现一个有意思的现象:镜像构建、容器编排这些事看文档基本能搞定,唯独网络这块,一旦出问题就特别容易卡壳。容器之间 ping 不通、宿主机访问不到容器里的服务、自定义网络里 DNS 解析时灵时不灵,这类问题排查起…

2026/10/27 4:37:57

端到端测试本质是用户旅程契约验证

1. 什么是真正的端到端测试?别再被“e2e”三个字母骗了很多人看到“e2e”第一反应是“哦,自动化测试”,点开搜出来的文章,十篇有八篇在讲Playwright怎么装、怎么写个登录脚本、怎么截图——这根本不是端到端测试,这只是…

2026/10/27 4:32:56

YOLO26中C3k2与AKConv融合的目标检测优化

1. 项目概述:YOLO26的C3k2模块与AKConv创新融合在目标检测领域,YOLO系列算法始终保持着迭代创新的步伐。这次我们要探讨的是YOLO26架构中一个关键改进:将C3k2模块与AKConv(可变核卷积)进行深度融合。这种组合为卷积神经…

2026/10/26 0:20:20

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/26 1:53:47

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/27 0:59:21

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/27 0:02:28

WorkBuddy_新建任务与工作模式19_“模式选错”的典型代价

“模式选错”的典型代价 摘要 在软件工程中,设计模式、架构模式、并发模式乃至团队协作模式的选择,往往在项目早期就决定了后续的开发效率和维护成本。本文通过多个真实场景,剖析“模式选错”带来的典型代价——包括返工成本、技术债务累积、…

2026/10/27 0:02:28

WorkBuddy_新建任务与工作模式20_新手推荐路径

新手推荐路径 摘要 在 AI 辅助开发工具快速普及的今天,新手面对最多的困惑往往不是"工具够不够强",而是"我该从哪一步开始用"。本文提出一条经过实践验证的三阶段学习路径:先从 Ask(问答式交互)起…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑