P1580 yyy loves Easter_Egg I【洛谷算法习题】

发布时间:2026/8/13 10:01:09

P1580 yyy loves Easter_Egg I【洛谷算法习题】
P1580 yyy loves Easter_Egg I网页链接P1580 yyy loves Easter_Egg I题目背景Soha 的出题效率着实让人大吃一惊。OI数学化学的题目都出好了物理的题还没有一道。于是Huntfireabsi2011redbag 对 soha 进行轮番炸准备炸到 soha 出来不料人群中冲出了个 kkksc03……题目描述yyy loves OIHuntfireyyy loves Mathsredbagyyy loves Chemistryabsi2011对 yyy loves Physicssoha进行轮番炸轰炸按照顺序进行顺序为 Huntfireredbagabsi2011。现在这一题中我们不考虑太复杂的队形形式。我们认为只要这一句内含有且恰好含有一次的人和上一句话一样就算为队形。比如以下也视为队形yyy loves OI : yyy loves Microelectronicyyy loves Maths : yyy loves Microelectronic 我佩服soha的出题效率yyy loves OI : yyy loves Microelectronic 1yyy loves Chemistry : 1 yyy loves Microelectronic若 的人与第一个人不同就算队形被打破。若这个人在队形被打破之前出来发言了或者就是他打破队形了就算油炸成功了。若油炸成功输出Successful 某某某 attempt若队形被破坏先输出Unsuccessful 某某某 attempt再输出队形第一次被破坏的行数与第一次破坏队形的人的id \text{id}id。如果队形一直没被打破就先输出Unsuccessful 某某某 attempt再输出队形的长度最后输出Good Queue Shape。p.s.yyy loves Microelectronic 是 kkksc03输入格式N NN行为轰炸开始后的一段消息记录每行一条消息。消息格式「消息发送者:消息内容」每行消息长度不超过1000 10001000。中文用拼音代替输出格式若油炸成功输出Successful 某某某 attempt若队形被破坏第一行输出Unsuccessful 某某某 attempt接下来一行输出队形第一次被破坏的行数第三行输出第一次破坏队形的人的id \text{id}id。如果队形一直没被打破就先输出Unsuccessful 某某某 attempt再输出队形的长度最后输出Good Queue Shape。输入输出样例 #1输入 #1yyy loves OI : yyy loves Physics wo pei fu ni de chu ti xiao lv yyy loves Maths : yyy loves Physics wo pei fu ni de chu ti xiao lv yyy loves Chemistry : yyy loves Physics wo pei fu ni de chu ti xiao lv yyy loves Microelectronic : ni men wu liao me yyy loves OI : yyy loves Physics wo pei fu ni de chu ti xiao lv输出 #1Unsuccessful yyy loves Physics attempt 4 yyy loves Microelectronic输入输出样例 #2输入 #2yyy loves OI : yyy loves Physics wo pei fu ni de chu ti xiao lv yyy loves Maths : yyy loves Physics wo pei fu ni de chu ti xiao lv yyy loves Chemistry : yyy loves Physics wo pei fu ni de chu ti xiao lv yyy loves OI : yyy loves Physics wo pei fu ni de chu ti xiao lv yyy loves Maths : yyy loves Physics wo pei fu ni de chu ti xiao lv yyy loves Chemistry : yyy loves Physics wo pei fu ni de chu ti xiao lv yyy loves OI : yyy loves Physics wo pei fu ni de chu ti xiao lv yyy loves Maths : yyy loves Physics wo pei fu ni de chu ti xiao lv yyy loves Chemistry : yyy loves Physics wo pei fu ni de chu ti xiao lv yyy loves Physics : ni men gou le输出 #2Successful yyy loves Physics attempt说明/提示yyy loves Physics 我佩服你的出题效率此题仅吐槽 soha纪念出题者的队形此队形长达91 9191行。对于100 % 100\%100%的数据,每行消息长度≤ \le≤10 3 10^3103。保证行数不超过5 × 10 4 5\times 10^45×104保证输入文件大小不超过4 MB 4\text{MB}4MB保证第一个说话的一定在 某人保证大家的名字都是yyy loves *** \text{yyy loves ***}yyy loves ***的格式保证每个人说的话中没有:保证第一个说话的一定艾特了一个人且只 了一个人保证第一个说话的一定不会艾特自己保证文件结束一定有一行空行方便你判定文件结束并不保证后面说话的艾特了几个人 然而艾特人数不为一个人视为破坏队形并不保证后面说话是否会反复艾特同一个人并不保证被炸的人一定破坏队形并不保证这一题是或不是压轴题并不保证这一套比赛存在压轴题并不保证下一套比赛和这一套比赛一样水并不保证群里除了这4 44个人和 kkksc03 以外没有别人了并不保证你没 AC 这题的情况下吐槽 soha 不会出事儿AC 了可以吐槽 soha 一句soha 不会介意。解题思路本题是一个字符串匹配与协议检查的模拟问题要求根据给定的消息记录判断“轰炸队形”是否被遵守以及是否成功炸出目标人物。核心在于逐行解析每条消息的发送者、数量与对象并与第一行的“目标人物”进行比对按照规则输出对应结果。1. 规则抽象队形发起第一条消息必定包含恰好一个 的人即为“目标人物”设为target之后的每一条消息需保持队形。队形保持条件消息中恰好出现一次该的人与target完全一致。终止条件炸成功在队形被破坏之前target本人发言无论发言内容是否含只要发送者是target队形破坏某条消息的发送者不是target但消息不符合队形保持条件无、多个或的人不是target自然结束输入读完遇到空行仍未出现以上两种情况。输出要求炸成功输出Successful target attempt队形破坏输出Unsuccessful target attempt破坏行号破坏者 ID自然结束输出Unsuccessful target attempt队形持续行数Good Queue Shape。2. 算法实现读取并解析首条消息找到的位置提取其后的连续非空格字符串作为target。逐行处理后续消息行号从 2 开始累计获取发送者sender冒号前的字符串去掉冒号前可能存在的空格。若sender target直接输出成功信息并结束。查找的位置若无则队形破坏输出破坏信息当前行号与sender并结束。若有提取后的人名mention并临时屏蔽该后再检查是否还有。若存在多个或mention ! target队形破坏输出破坏信息并结束。读完仍未终止输出自然结束信息队形行数为总行数追加Good Queue Shape。3. 复杂度分析时间复杂度每行消息长度≤ 1000 \le 1000≤1000最多5 × 10 4 5\times 10^45×104行每条消息的扫描和子串操作均为O ( l e n ) O(len)O(len)总体O ( 总字符数 ) ≈ 5 × 10 7 O(\text{总字符数}) \approx 5\times 10^7O(总字符数)≈5×107在限制内可轻松完成。空间复杂度仅需存储当前行字符串和少量变量O ( 1 ) O(1)O(1)额外空间。总结逐行模拟严格按规则检查发送者、次数与对象。边界情况目标本人发言、无、多、错人均在逐行分析中覆盖最终根据不同条件输出对应格式的结果。代码简要说明getnm(p)函数从字符串位置p之后提取的人名以空格为界。init()函数读取第一行定位并提取target存入全局变量nm。主循环读取一行若为空或长度≤ 1 \le 1≤1则退出循环解析发送者cur和的位置若发送者为target成功退出若无破坏退出否则提取对象判断是否唯一且匹配target不满足则破坏退出。正常退出输出Unsuccessful、总行数、Good Queue Shape。代码内容#includebits/stdc.husingnamespacestd;#defineendl\ntypedeflonglongll;typedefunsignedlonglongull;typedefvectorvectorllvvt;typedefpairll,llpll;constll N1e310;constll INF1e18;constll M1e610;constll mod1e97;string s,t,nm;ll l;voidgetnm(ll p){boolf0;ll cnt0;for(ll ip11;il;i){if(s[i] ){cnti-p-1;break;}}ts.substr(p1,cnt);}voidinit(){getline(cin,s);s[s.size()-1] ;ll ps.find();ls.size();getnm(p);nmt;}intmain(){ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);init();ll ql1;while(getline(cin,s)s.size()1){ql;s[s.size()-1] ;ls.size();ll ps.find();ll p2s.find(:);string curs.substr(0,p2-1);if(nmcur){coutSuccessful nm attemptendl;return0;}if(p-1){if(nmcur){coutSuccessful nm attemptendl;return0;}else{coutUnsuccessful nm attemptendl;coutqlendl;coutcurendl;return0;}}else{getnm(p);s[p].;if(s.find()!-1||t!nm){ll p2s.find(:);string curs.substr(0,p2-1);coutUnsuccessful nm attemptendl;coutqlendl;coutcurendl;return0;}}}coutUnsuccessful nm attemptendl;coutqlendl;coutGood Queue Shapeendl;return0;}

相关新闻

K3s单节点K8S集群部署指南与优化实践

K3s单节点K8S集群部署指南与优化实践

2026/8/13 10:01:09

1. K3s单节点K8S集群部署概述 K3s作为轻量级Kubernetes发行版,已经成为开发者本地测试和小型生产环境的首选方案。相比标准K8S动辄需要多台服务器的资源消耗,K3s单节点方案仅需1台2核4G配置的机器即可运行完整集群功能。我在2026年3月最新测试中验证&…

VulkanSceneGraph学习教程(十)

VulkanSceneGraph学习教程(十)

2026/8/13 10:01:09

第 10 章 描述符与资源绑定摘要:本章系统讲解了 Vulkan 场景图(VSG)中描述符(Descriptor)与资源绑定的核心机制。内容涵盖从概念(Descriptor → DescriptorSet → BindDescriptorSet)到实践&am…

3分钟极速配置:让MusicBee拥有网易云音乐海量歌词库的终极指南

3分钟极速配置:让MusicBee拥有网易云音乐海量歌词库的终极指南

2026/8/13 9:51:09

3分钟极速配置:让MusicBee拥有网易云音乐海量歌词库的终极指南 【免费下载链接】MusicBee-NeteaseLyrics A plugin to retrieve lyrics from Netease Cloud Music for MusicBee. 项目地址: https://gitcode.com/gh_mirrors/mu/MusicBee-NeteaseLyrics 还在为…

大模型推理显存优化:KV Cache原理、计算与vLLM部署实践

大模型推理显存优化:KV Cache原理、计算与vLLM部署实践

2026/8/13 11:11:12

1. 从一次显存“爆仓”说起:KV Cache的显存账单那天下午,我正在本地调试一个基于Qwen-7B的长文档摘要任务。文档大约有8000个token,我信心满满地启动了推理服务,心想7B模型对一张24G显存的消费级显卡来说应该绰绰有余。然而&#…

一招重置Windows更新组件:Reset Windows Update Tool让我摆脱0x80070002报错的纠缠

一招重置Windows更新组件:Reset Windows Update Tool让我摆脱0x80070002报错的纠缠

2026/8/13 11:11:12

一招重置Windows更新组件:Reset Windows Update Tool让我摆脱0x80070002报错的纠缠 【免费下载链接】Reset-Windows-Update-Tool Troubleshooting Tool with Windows Updates (Developed in Dev-C). 项目地址: https://gitcode.com/gh_mirrors/re/Reset-Windows-U…

阿里云Elasticsearch日志采集与加工服务:一体化托管方案解析与实践

阿里云Elasticsearch日志采集与加工服务:一体化托管方案解析与实践

2026/8/13 11:11:12

1. 项目概述:从“组件堆叠”到“服务内聚”的日志管理新范式在云原生和微服务架构成为主流的今天,日志管理是每个技术团队都无法绕开的“必修课”。回想一下我们构建一个标准日志链路的典型过程:首先,我们需要在每台服务器或容器里…

Vue3低代码平台物料模式配置:从Schema设计到AI智能生成

Vue3低代码平台物料模式配置:从Schema设计到AI智能生成

2026/8/13 11:11:12

1. 从“搭积木”到“造积木”:物料模式配置的本质 在低代码或者AI驱动的开发平台里,我们总说“像搭积木一样构建应用”。这话听起来很美,但如果你真去用过一些平台,可能会发现一个尴尬的现实:平台提供的“积木”要么太…

碧蓝幻想Relink伤害统计利器GBFR Logs快速上手:免费开源DPS工具5步通关

碧蓝幻想Relink伤害统计利器GBFR Logs快速上手:免费开源DPS工具5步通关

2026/8/13 11:11:12

碧蓝幻想Relink伤害统计利器GBFR Logs快速上手:免费开源DPS工具5步通关 【免费下载链接】gbfr-logs GBFR Logs lets you track damage statistics with a nice overlay DPS meter for Granblue Fantasy: Relink. 项目地址: https://gitcode.com/gh_mirrors/gb/gbf…

Python爬虫实战:基于Playwright的企业数据采集与反爬策略

Python爬虫实战:基于Playwright的企业数据采集与反爬策略

2026/8/13 11:01:12

1. 项目概述与核心价值 最近在做一个市场分析的项目,需要批量获取一批目标公司的工商信息、股东背景和经营状况。手动去天眼查、企查查这类网站一个个搜,效率低不说,还容易出错。于是,用Python写一个爬虫来自动化这个数据采集过程…

比较好的亚太EMBA,问了6位校友师资差别真的挺大

比较好的亚太EMBA,问了6位校友师资差别真的挺大

2026/8/13 11:01:28

比较好的亚太EMBA核心差异先看什么?对于希望兼顾工作与系统管理能力提升的亚太区高管而言,筛选匹配度高的EMBA项目时,师资配置是决定学习体验与实际收获的核心要素之一。我们结合3-4个公开信息透明、办学历史较长的亚太区主流EMBA项目特点&am…

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

2026/8/11 8:44:43

备考海外游学的亚洲EMBA面试,核心要围绕项目国际化设计逻辑、个人跨文化管理经验匹配度两个维度准备,避免把游学模块等同于普通旅游参访的认知偏差。不少备考者花3个月对比6份资料,却容易忽略面试官对“国际视野落地能力”的考察——比如香港…

比较好的国内EMBA,问了二十位校友聊透人脉价值

比较好的国内EMBA,问了二十位校友聊透人脉价值

2026/8/11 15:57:54

比较好的国内EMBA核心差异体现在哪些方面?比较好的国内EMBA的核心长期价值,很大程度上依托于校友网络的连接质量与资源生态的活跃度,这也是不少高管在择校时优先考量的因素。我们结合3-4个市场关注度较高的项目公开信息,从课程、师…

电商毛利率别再手动算了!2026年3种自动分析工具实测对比

电商毛利率别再手动算了!2026年3种自动分析工具实测对比

2026/8/13 0:00:21

一、开篇:毛利率——电商运营最该盯但最难盯的指标 电商运营中有一个指标,几乎所有老板都会问,但几乎所有运营都回答得不够确定——毛利率。不是"店铺毛利率",而是"每条链接的毛利率""每个品类的毛利率…

15-SaaS系统灰度发布:滚动更新、金丝雀发布、不停机迭代

15-SaaS系统灰度发布:滚动更新、金丝雀发布、不停机迭代

2026/8/13 0:00:21

15-SaaS系统灰度发布:滚动更新、金丝雀发布、不停机迭代 一、为什么需要不停机发布? 传统发布方式:停服务 → 替换包 → 启服务。在内部系统里勉强能用,但在SaaS系统中是灾难。 我们的无人售货柜SaaS平台服务全国几千台设备&#…

17-线上Bug热修复流程:紧急分支、补丁合并、版本快速回退方案

17-线上Bug热修复流程:紧急分支、补丁合并、版本快速回退方案

2026/8/13 0:00:21

17-线上Bug热修复流程:紧急分支、补丁合并、版本快速回退方案 前言 大家好,我是黒漂技术佬。 线上出 Bug 这种事,就像你正吃着火锅唱着歌,突然接到电话说"柜子门打不开了"。炸不炸?慌不慌?别急&a…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/8 5:07:31

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/9 13:42:46

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/8 2:30:15

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…