news 2026/4/30 13:09:41

打卡信奥刷题(3190)用C++实现信奥题 P8085 [COCI 2011/2012 #4] KRIPTOGRAM

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(3190)用C++实现信奥题 P8085 [COCI 2011/2012 #4] KRIPTOGRAM

P8085 [COCI 2011/2012 #4] KRIPTOGRAM

题目描述

现有一段明文和一部分密文。明文和密文都由英文单词组成,且密文中的一个单词必然对应着明文中的一个单词。

求给出的密文在明文中可能出现的最早位置。

输入格式

第一行,若干个英文单词和一个 $,表示明文。

第二行,若干个英文单词和一个 $,表示密文。

每行末尾的 $ 用于表示该行结束。数据保证没有多个 $ 出现在同一行的情况。

输出格式

输出密文在明文中可能出现的最早位置,即密文的第一个单词在明文中可能出现的最早位置。

输入输出样例 #1

输入 #1

a a a b c d a b c $ x y $

输出 #1

3

输入输出样例 #2

输入 #2

xyz abc abc xyz $ abc abc $

输出 #2

2

输入输出样例 #3

输入 #3

a b c x c z z a b c $ prvi dr prvi tr tr x $

输出 #3

3

说明/提示

【数据规模与约定】

  • 对于100 % 100\%100%的数据,明文和密文所对应字符串的长度不超过10 6 10^6106,输入的单词均由小写字母组成。

【提示与说明】

题目译自 COCI 2011-2012 CONTEST #4Task 6 KRIPTOGRAM

本题分值按 COCI 原题设置,满分140 140140

C++实现

#include<bits/stdc++.h>#defineup(l,r,i)for(inti=l,END##i=r;i<=END##i;++i)#definedn(r,l,i)for(inti=r,END##i=l;i>=END##i;--i)usingnamespacestd;typedeflonglongi64;constintINF=2147483647;constintMAXN=1e6+3;intL1[MAXN],R1[MAXN];intL2[MAXN],R2[MAXN];intA[MAXN],B[MAXN],n,m;typedefunsignedintu32;typedefunsignedlonglongu64;constu64 BAS=13331;u64 H[MAXN],P[MAXN];map<string,int>M;intmain(){string t;while(cin>>t&&t!="$"){R1[M[t]]=++n,L1[n]=M[t],M[t]=n;}M.clear();while(cin>>t&&t!="$"){R2[M[t]]=++m,L2[m]=M[t],M[t]=m;}for(inti=1;i<=n;++i)if(!R1[i])R1[i]=INF;for(inti=1;i<=m;++i)if(!R2[i])R2[i]=INF;for(inti=1;i<=n;++i)A[i]=L1[i]?i-L1[i]:-1;for(inti=1;i<=m;++i)B[i]=L2[i]?i-L2[i]:-1;u64 h0=0,h=0;P[0]=1;for(inti=1;i<=m;++i)P[i]=P[i-1]*BAS;for(inti=1;i<=m;++i)h0=h0*BAS+B[i],h=h*BAS+A[i];if(h==h0)printf("%d\n",1),exit(0);for(inti=m+1;i<=n;++i){h=h*BAS+A[i],h=h-A[i-m]*P[m];if(R1[i-m]<=i){h=h-A[R1[i-m]]*P[i-R1[i-m]];A[R1[i-m]]=-1;h=h+A[R1[i-m]]*P[i-R1[i-m]];}elseif(R1[i-m]<=n)A[R1[i-m]]=-1;if(h==h0)printf("%d\n",i-m+1),exit(0);}return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 13:06:50

网信办查处剪映:AI生成内容,标识是底线!

4月28日&#xff0c;国家互联网信息办公室指导属地网信部门&#xff0c;依法查处了“剪映”&#xff0c;“猫箱”App&#xff0c;以及“即梦AI”网站&#xff0c;核心原因是这些平台未有效落实人工智能生成合成内容标识规定&#xff0c;违反了《网络安全法》等相关法律规定。 一…

作者头像 李华
网站建设 2026/4/30 13:06:24

真我GT Neo闪速版UI4.0保姆级教程:用KernelSU隐藏Root,搞定银行和交管12123

真我GT Neo闪速版深度Root隐藏方案&#xff1a;从KernelSU内核到金融级应用完美运行指南 对于Realme GT Neo闪速版用户而言&#xff0c;系统深度定制与金融类应用的严格检测始终是Root路上的双重阻碍。本文将以UI4.0系统为基准&#xff0c;通过KernelSU的革新架构配合模块化方案…

作者头像 李华
网站建设 2026/4/30 13:05:04

轻量级LLM推理引擎nano-vLLM:Python实现的高效推理方案

1. 轻量级LLM推理引擎的崛起 在大型语言模型&#xff08;LLM&#xff09;应用爆发的今天&#xff0c;推理效率成为制约实际落地的关键瓶颈。传统方案如vLLM虽然性能强劲&#xff0c;但其复杂的C/CUDA架构和庞大的代码库&#xff08;超过10万行&#xff09;让普通开发者难以理解…

作者头像 李华
网站建设 2026/4/30 13:04:55

开着代理也能pip install!保姆级配置阿里云镜像源解决SSL报错

代理环境下Python包安装终极方案&#xff1a;阿里云镜像源配置全指南 当你在咖啡馆连上VPN处理紧急任务&#xff0c;或是跨国协作时需要通过代理访问内网资源&#xff0c;突然弹出的SSLError是否让你抓狂&#xff1f;作为Python开发者&#xff0c;我们常常陷入两难&#xff1a;…

作者头像 李华