B. Password Codeforces Beta Round 93 (Div. 1 Only)

Codeforces Beta Round #93 B. Password Codeforces Beta Round #93 B. Password cf1700 阅读详情

Asterix, Obelix and their temporary buddies Suffix and Prefix has finally found the Harmony temple. However, its doors were firmly locked and even Obelix had no luck opening them.

A little later they found a string s, carved on a rock below the temple's gates. Asterix supposed that that's the password that opens the temple and read the string aloud. However, nothing happened. Then Asterix supposed that a password is some substring t of the string s.

Prefix supposed that the substring t is the beginning of the string s; Suffix supposed that the substring t should be the end of the string s; and Obelix supposed that t should be located somewhere inside the string s, that is, t is neither its beginning, nor its end.

Asterix chose the substring t so as to please all his companions. Besides, from all acceptable variants Asterix chose the longest one (as Asterix loves long strings). When Asterix read the substring t aloud, the temple doors opened.

You know the string s. Find the substring t or determine that such substring does not exist and all that's been written above is just a nice legend.

Input

You are given the string s whose length can vary from 1 to 106 (inclusive), consisting of small Latin letters.

Output

Print the string t. If a suitable t string does not exist, then print "Just a legend" without the quotes.

Examples

input

fixprefixsuffix

output

fix

input

abcdabc

output

Just a legend

题目大意:

在一个字符串里找一个子串,它在头,尾,中间都出现一次。

思路:

遍历一遍字符串与头部子串进行匹配。

方法:

跑单for进行匹配,把最后的子串标记为不可取。

AC代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define endl "\n"

const ll N = 1e6+7;
ll dp[N];
bool vis[N];
string s;

void solve(){
	cin >> s;
	ll len=s.size(),cnt=0;
	for(ll i = 1 ; i < len ; i ++){
		//如果当前的字母不匹配了,往前匹配 
		while(cnt && s[i] != s[cnt])cnt=dp[cnt-1];
		//如果当前字符匹配,长度++ 
		if(s[i] == s[cnt])cnt++;
		//末尾与头相等的字符串不进行匹配 
		if(i < len-1)vis[cnt]=1;
		//记录此点可取子串的长度 
		dp[i]=cnt;
	}
	vis[0]=1,cnt=dp[len-1];
	//除去末尾与头相等的部分 
	while(cnt && !vis[cnt])cnt=dp[cnt-1];
	cnt > 0 ? cout << s.substr(0,cnt) << endl : cout << "Just a legend" << endl;
	return;
}

int main() {
	ll t=1;//cin >> t;
	while(t--)solve();
	return 0;
}

3dMax脚本类插件:不写 C++也能造“原生”工具 从plugin关键字到场景持久化,拆解 MAXScript 插件开发全流程! 阅读详情

相关推荐

Django 前后端分离实战:网络设备运维系统 - 从登录认证到业务模块

这篇文章分享了Django+Vue前后端分离开发网络设备运维系统的实战经验,重点介绍了登录认证、全局布局和设备管理三大模块的实现。文章包含以下核心内容: 登录模块实现:包括表单验证、Token认证、记住密码功能,以及美观的UI设计(渐变背景、毛玻璃效果) 全局布局架构:采用侧边栏+顶部导航的响应式设计,支持菜单权限控制和多设备适配 业务功能开发:详细展示了设备分类和部门管理的CRUD功能实现,包括列表展示、搜索过滤、分页等功能 常见问题解决:提供了5个开发中常见问题的解决方案,如Vue Router警告、C

qq_16766705的博客 525

Codeforces Beta Round #93 (Div. 1 Only) B. Password KMP

&#13; 链接:&#13; http://codeforces.com/contest/126/problem/B&#13; 题意:&#13; 给你一个字符串,问是否存在一个子串出现在开头结尾和中间,找出最长的&#13; 题解:&#13; 构建Next数组,Next[i]表示以i为末尾的子串的后缀与能够匹配的整个串的最长的前缀。把除了Next[1]和Next[n]的都Has...

花海 345

人形机器人人机交互解决方案(2026完整版)

《人形机器人人机交互解决方案(2026完整版)》摘要 本项目针对2026年人形机器人产业爆发式增长需求,提出了一套完整的人机交互解决方案。方案包含十大核心模块(语音识别、情感识别、手势识别等),采用五层架构设计,实现多模态融合交互,响应时间≤32ms,准确率≥99%。覆盖制造业巡检、家庭服务等10大场景,适配20+主流机型。项目总投资4.1亿元,预期年营收8.2亿元,将申请专利120项,培养专业人才300人。通过技术创新解决当前交互体验生硬、安全可控性不足等痛点,助力我国人形机器人产业实现从"跟跑

随读手记 775

Codeforces Beta Round #93 (Div. 1 Only) B. Password 题解(hash+kmp)

题目链接 题目大意 给出一个字符串,让你判断是否存在一个字符串的同时出现在字符串开头,中间(不能从第一个字母开始或者以最后一个字母结尾),和最后。若存在求其最长 题目思路 hash:看到第一眼觉得是Kmp,但自己基本不怎么知道kmp,想用hash水一下,先写了一下hash+二分,但后面发现其实他并不满足二分的条件。举个例子,假如说你判断前缀为4的时候,答案是不存在的,但这并不能说明前缀为5或者3的时候是不存在的。那么就直接暴力二分,居然过了o(n^2),应该数据有点水 kmp:待补 hash #includ

hunxuewangzi的博客 401

对话系统简介

《文本上的算法》学习笔记1、问答型1.1、基于语义分析的方法1.2、基于信息抽取的方法1.3、端对端的方法2、任务型2.1、生成式模型( Generative Model )2.2、判别式模型( Discrimitive Model )2.3、规则系统3、闲聊型3.1、规则方法3.2、生成模型3.3、检索方法 个人认为NLP领域最难的方向可以说是阅读理解与文本生成/摘要,而对话系统,尤其是闲聊常常...

盘一哈nlp 6752

【科研学习】Demo3D2015安装包以及图文安装步骤

安装包 点击下图的.exe文件,安装 不需要解压,打开注册机 如下图: 点击上图的.exe文件,出现下图 先点击 patch 打开安装目录下的Demo3D.licensing.dll文件,然后点击Generate,生成dvt-license文件,保存即可 打开安装完成的Demo3D 2015(64-bit),一般破解没完成的,会出现一个request a license 的问题,点击find license 的那一行 点击后找到自己Generate,生成dvt

KaelCui的博客 1万+

Codeforces Beta Round #93 (Div. 1 Only)-B. Password(KMP)

原题链接 B. Password time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Asterix, Obelix and their t

L. 420

PCL Alpha Shapes平面点云边界特征提取【2026最新版】

alpha shapes算法用于平面点云的边界特征提取。博客长期更新,本文最近一次更新时间为:2026年4月20日。

点云侠的博客 27万+

Codeforces-CF-126B-Codeforces Beta Round #93 (Div. 1 Only) B. Password 题解 Z函数(拓展KMP)

CF-126B Password 题解题目(Problem)英文题面中文大意做题思路(Thinking)代码(Code) 题目(Problem) 英文题面 Asterix, Obelix and their temporary buddies Suffix and Prefix has finally found the Harmony temple. However, its doors were firmly locked and even Obelix had no luck opening th

Entertaining 583

华为OD机试新系统真题 【简单表达式计算】

华为OD机试 新系统真题【简单表达式计算】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【简单表达式计算】题解

qq_45776114的博客 675

WinCC 7.5 读取 SQL server2016 中的表格数据

环境 win10 SQL Server 2016 WinCC V7.5 SP2 1 安装SQL Server 2016 2 选择服务器名称 .\WINCC 3 建数据库

skr? 7140

Codeforces Beta Round #93 (Div. 1 Only)B. Password (KMP:>=3的相同前缀后缀 两种做法)

B. Password time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Asterix, Obelix and their temporary buddies Suffix and Prefix has fin...

pxlsdz的博客 487

025、Zephyr RTOS设备树覆盖与修改

本文分享了在Zephyr RTOS中使用设备树覆盖(overlay)的实战经验。作者通过一个工业数据采集项目中GPIO无法拉高的调试案例,揭示了设备树覆盖的"叠加"本质而非简单替换。文章详细介绍了覆盖文件的正确编写方式,包括节点引用、pinctrl配置等技巧,并总结了常见陷阱如状态设置不完整、别名冲突等问题。特别强调了条件覆盖的用法和调试方法,最后提出了覆盖文件管理的五项实用原则,强调设备树覆盖是硬件与软件之间的重要契约,需要谨慎对待。全文以实际项目为背景,提供了可操作性强的技术建议。

m0_50546716的博客 33

Codeforces Beta Round #93 (Div. 2 Only) (Virtual participation)

A 相邻点对距离和*k B (Σ(v/2))/2 C 一直想不到“最优”是怎么体现的,发现y2=y1*(t1-t0)/(t0-t2),就写了1e6的枚举,然而又一些特殊情况没考虑到,比如两个都完全打开。 正解是两指针或二分 while(x1&gt;=0&amp;&amp;x2&gt;=0){ t=(t1*x1+t2*x2*1.0)/(x1+x2); if(t&lt...

Memories Do Not Open 308

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Codeforces Beta Round #93 D. Password——后缀自动机

题意:找到一个字符串的最长的子串满足同时为该串的前缀,中缀和后缀。 按逆拓扑序更新每个状态最左出现和最右出现的位置和出现的次数,满足r[s] == len && l[s] - val[s] == 0 && num[s] > 2的所有状态中最长的为我们要的解。 #include #include #include #include #define lng long long using

cool_Fires的专栏 902

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

codeforces 30E 蓝桥杯 Tricky and Clever Password

算法训练 Tricky and Clever Password   时间限制:2.0s   内存限制:256.0MB      问题描述   在年轻的时候,我们故事中的英雄——国王 Copa——他的私人数据并不是完全安全地隐蔽。对他来说是,这不可接受的。因此,他发明了一种密码,好记又难以破解。后来,他才知道这种密码是一个长度为奇数的回文串。   Copa 害怕

tanmlh的专栏 3157

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

深挖C++:类和对象(中)

(先进后出)

xys_678的博客 219

选型笔记:Type‑C 扩展坞方案评估|DP1.4 转 HDMI2.0 桥接芯片 GSV2201S@ACP

本文记录 GSV2201S 这款 DP1.4a 转 HDMI2.0 桥接芯片评估,梳理视频、HDCP、PD 集成能力,总结 Type‑C 转接 Dongle、扩展坞方案的适配边界,以及差分走线、PD 时序、HDCP 握手等高频调试问题,为 C 口视频转接方案选型提供参考。

ACP广源盛的博客 218

ThunderKittens 深度解析:一个不基于 MLIR 的 C++ 模板 GPU DSL

Triton 是"让更多人能写 GPU kernel",ThunderKittens 是"让会写的人写得更爽"。前者用 MLIR 换易用性,后者用 C++ 模板换可控性。它们不是替代关系,而是覆盖了 GPU 编程光谱的两端。ThunderKittens 的出现,本质上是对"GPU DSL 必须基于 MLIR"这一默认假设的挑战。编译期类型系统本身就可以是一个强大的 DSL 基础设施,不需要中间 IR,不需要黑盒 pass,也能实现 tile 级抽象和零运行时开销。

Maxwell_Newton的博客 333

C++移动构造函数详解

移动构造函数是C++11引入的一种特殊构造函数,用于从临时对象(右值)"窃取"资源来初始化新对象,而不是进行昂贵的深拷贝。char* data;public:// 移动构造函数:参数是右值引用 &&// 关键:把源对象的资源置空。

拒绝AI文,努力在AI时代写出感动人心的好文章 388

蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:倍增法求最近公共祖先LCA解析

蓝桥杯报名正在火热进行(软件赛报名 2026-10-08—12-18,省赛 2027-04-10),电子学会 12 月软件编程(C/C++ 一级至十级、Python 一级至六级)考级报名也已开启(9/23—12/2),全国青少年信息素养大赛算法应用主题赛同步推进——把 LCA 这个模板练熟,正是冲刺这些赛事树型考点的关键一步。所谓「最近公共祖先」:在一棵以某个节点为根的树里,两个节点 u、v 向上追溯,最早交汇的那个祖先就叫它们的 LCA。比如家谱里,你和你表哥最近的共同长辈就是你们的祖父。

IT_Scratch的博客 534

【C语言】字符与字符串函数

C语言中字符串为以\0结尾的字符数组,标准库函数基于此约定。本文解析字符串内存布局,详解ctype.h与string.h中字符分类、长度计算、拷贝、比较等函数的使用要点,强调长度判断与越界风险,最后通过命令行待办事项示例整合fgets、sscanf、strncpy、strcmp,展示实际应用中的关键细节。

记录在学习过程中学到的知识 343

C++ 多态详解:作用、原理与实战用法

多态是C++面向对象的核心特性,通过虚函数实现运行期动态绑定,使同一接口在不同对象上表现出不同行为。其核心作用包括统一接口、提升可扩展性、降低耦合、支持运行时分派与批量处理。实现依赖虚函数表(vtable)和虚指针(vptr),需注意虚析构函数、对象切片等陷阱。相比编译期多态(模板),运行期多态灵活性高但有调用开销。合理结合两者,可兼顾代码的灵活性与性能,是构建可扩展、低耦合系统的关键。

2402_85743155的博客 377

C++ 函数模版

模板参数:● template ,T 就是类型占位符,名字可以自定义,习惯用T● 占位符可以在函数返回值、形参、函数内部当作类型使用使用要点模板代码一般写在头文件:编译器需要看到完整模板源码,才能在每个编译单元完成实例化全局函数、类内成员函数都可以写成模板实例化发生在编译阶段,不是运行时隐式实例化:调用时编译器自动推导实参类型,生成对应版本函数。

2501_94041724的博客 302

C++ 运行时多态与虚函数机制全面剖析【面试重点】

构成C++ 运行时多态必须是基类的指针或者引用调用虚函数。被调用的函数必须是虚函数,并且派生类必须对该虚函数完成重写/覆盖(Override)。只有基类的指针或引用才能既指向基类对象,又指向派生类对象(切片机制);而只有完成了虚函数重写,派生类与基类才具备不同的函数行为,达到“指向谁就调用谁”的效果。在类成员函数的前面加上virtual关键字修饰,该成员函数就成为了虚函数。public:// 成员函数前加 virtual 修饰,声明为虚函数。

Fuyo_0209的博客 435

C++ 求抛物线的顶点、焦点和准线(Finding the vertex, focus and directrix of a parabola)

已知抛物线方程 $ y = ax^2 + bx + c $,可利用公式求其顶点、焦点和准线。顶点为 $ \left( -\frac{b}{2a}, \frac{4ac - b^2}{4a} \right) $,焦点为 $ \left( -\frac{b}{2a}, \frac{4ac - b^2 + 1}{4a} \right) $,准线方程为 $ y = c - \frac{b^2 + 1}{4a} $。以 $ a=5, b=3, c=2 $ 为例,计算得顶点 $(-0.3, 1.55)$,焦点 $(-0

csdn_aspnet的专栏,请点击博客主页右上角三个点中的私信联系 163
上一篇: PTA城市间紧急救援(邻接表+Dijkstra)
下一篇: B. Zero Array Codeforces Round 577 (Div. 2)
翰墨织梦
博客等级 码龄4年 384粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值