【2018.3.10】模拟赛之二-ssl2575 给出字符串【字符串】

目录地址

前言

其实可以不用哈希的,好像会更慢。还有之前看错题了,所以会有些奇怪的地方


正题

给出一个字符串,求最长的至少出现过两次的子串


输入输出(需要自取)

Input

输入文件ygas.in第一行包含该字符串。数据保证该字符串非空,由小写字母组成,且其长度不超过100。

Output

输出文件ygas.out包含一个数代表至少出现两次的最长子串的长度。

Sample Input

【输入样例1】

abcd

【输入样例2】

ababa

【输入样例3】

zzz

Sample Output

【输出样例1】

0

【输出样例2】

3

【输出样例3】

3


解题思路

请无视哈希。还有我手动打了一个find查找该字符串出现过的次数(因为前面看错题了,又懒得改)。


代码

#include<cstdio>
#include<string>
#include<iostream>
#include<algorithm>
using namespace std;
const int p=29989;
string s,hash[p+1],fs;
int n,sum;
int hashmath(string x)
{int ans=0;for (int i=0;i<x.size();i++){ans=(ans*27+x[i]-96)%p;}return ans%p;
}
int locate(string x)
{int wz=hashmath(x);int i=0;while (i<p && hash[(wz+i)%p]!=x && hash[(wz+i)%p]!="")i++;return (wz+i)%p;
}
int headfind(string fs)//手动查找
{int l=fs.size(),S=0;bool flag;for (int i=0;i<n;i++){if (s[i]==fs[0])//对头{flag=true;for (int j=1;j<l;j++)if (s[i+j]!=fs[j])//往后搜{flag=false;break;}if (flag) S++;}}return S;
}
int main()
{//freopen("ygas.in","r",stdin);//freopen("ygas.out","w",stdout);cin>>s;n=s.size();for (int i=0;i<n;i++){fs="";for (int j=i;j<n;j++){fs+=s[j];int wz=locate(fs);if (hash[wz]==""){hash[wz]=fs;if (headfind(fs)>=2)//出现次数超过2次{int l=fs.size();sum=max(sum,l);//更新最优解}}}}if (sum!=0) printf("%d",sum);else printf("0");return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/324699.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面向 Visual Studio 开发者的 Git 内部源代码

在我撰写的 Git DevOps 文章 (msdn.com/magazine/mt767697) 中&#xff0c;我介绍了 Git 版本控制系统 (VCS) 与可能已经很熟悉的集中式 VCS 的区别。然后&#xff0c;我演示了如何在 Visual Studio 中使用 Git 工具完成一些 Git 任务。在本文中&#xff0c;我将汇总 Git 在新发…

Intellij IDEA神器居然还有这些小技巧

转载自 Intellij IDEA神器居然还有这些小技巧 Intellij IDEA真是越用越觉得它强大&#xff0c;它总是在我们写代码的时候&#xff0c;不时给我们来个小惊喜。出于对Intellij IDEA的喜爱&#xff0c;我决定写一个与其相关的专栏或者系列&#xff0c;把一些好用的Intellij IDE…

SpringMVC中使用作用域对象完成数据的流转

文章目录SpringMVC中使用作用域对象完成数据的流转[1] 作用域对象复习[2] SpringMVC中使用作用域对象流转数据[3] SpringMVC的Model对象的使用SpringMVC中使用作用域对象完成数据的流转 [1] 作用域对象复习 PageContext对象 作用域范围:当前jsp页面内有效request对象 作用域范…

为什么总是喜欢看我桌面呢?

点击上方蓝色关注我们&#xff01;每天上课&#xff0c;尤其是19级&#xff0c;在刚刚连接上投影仪的那一瞬间&#xff0c;差不多50双眼睛盯着我的桌面看&#xff0c;由于桌面上的字比较小&#xff0c;所以大家眼睛都不带的眨一下的。我的桌面也没啥好看的呀&#xff0c;不就是…

原码,反码,补码

原码就是符号位加上真值的绝对值&#xff0c; 即用第一位表示符号&#xff0c; 其余位表示值。 反码的表示方法是:正数的反码是其本身&#xff1b;负数的反码是在其原码的基础上&#xff0c; 符号位不变&#xff0c;其余各个位取反。 补码的表示方法是:正数的补码就是其本身&am…

【2018.3.10】模拟赛之三-ssl2576 平台

目录地址 前言 水题不想说&#xff0c;连自带快排都懒得用了 正题 有n个平台&#xff0c;每个平台头尾有两根柱子支撑到地板或另一个平台上&#xff0c;求支撑平台需要的柱子数 输入输出&#xff08;需要自取&#xff09; Input 输入文件platforme.in第一行包括1个整数N…

再谈消息队列技术

上周&#xff0c;我们举办了第二届技术沙龙&#xff0c;我这边主要演讲了消息队列技术的议题&#xff0c;现分享给大家&#xff1a; 在我们团队内部&#xff0c;随着消息应用中心&#xff08;任务中心&#xff09;的广泛应用&#xff0c;有时候我们感觉不到消息队列的存在&…

服务器性能指标(二)——CPU利用率分析及问题排查

转载自 服务器性能指标&#xff08;二&#xff09;——CPU利用率分析及问题排查 平常的工作中&#xff0c;在衡量服务器的性能时&#xff0c;经常会涉及到几个指标&#xff0c;load、cpu、mem、qps、rt等。每个指标都有其独特的意义&#xff0c;很多时候在线上出现问题时&…

20级:班级日常分享,一天一瞬间

点击上方蓝色关注我们&#xff01;今天批改的作业不仅仅是卡个印有“优”字样式的章&#xff0c;当然也不仅仅是用红笔写个“SSSS9.28”字样的批语了。除了给每个学生的作业本上都卡了“优”的章之外&#xff0c;还送给每位同学一句或长或短的话&#xff0c;有表扬有批评&#…

SpringMVC的视图解析器

文章目录SpringMVC的自定义视图解析器[1] SpringMVC的视图解析器[2] SpringMVC的自定义视图解析器SpringMVC自定义视图解析器的使用[1] 目前项目资源的声明位置和访问中存在的问题[2] 使用自定义视图解析器优化资源跳转路径[3] 使用restful声明公共单元方法请求转发WEB-INF下的…

【2018.3.10】模拟赛之四-ssl2133 腾讯大战360【SPAF,图论,最短路径】

目录地址 前言 打错了一个地方之接60&#xff0c;还有输出“Peace”能拿60。还有题目坑爹害得我用了哈希&#xff0c;可以无视 QAQ 正题 有一个n*n的图&#xff0c;有m条边&#xff0c;不知道几个城市&#xff0c;给出两个位置&#xff0c;求两个位置移动到相遇&#xff08;…

互联网级监控系统必备-时序数据库之Influxdb技术

时间序列数据库&#xff0c;简称时序数据库&#xff0c;Time Series Database&#xff0c;一个全新的领域&#xff0c;最大的特点就是每个条数据都带有Time列。 时序数据库到底能用到什么业务场景&#xff0c;答案是&#xff1a;监控系统。 Baidu一下&#xff0c;互联网监控系…

存放80000000学生成绩的集合,怎么统计平均分性能高

大家好&#xff0c;我是雄雄&#xff0c;好久不介绍一下我&#xff0c;就被大家淡忘了……我们都知道&#xff0c;遍历集合的方式最常用的有两种&#xff0c;一种是使用下标的方式遍历&#xff0c;第二种便是使用foreach遍历&#xff0c;代码分别如下&#xff1a;使用下标的方法…

数组元素的默认值

数组元素的默认值 数组元素是整型&#xff1a;0 数组元素是浮点型&#xff1a;0.0 数组元素是char型&#xff1a;0或’\u0000’&#xff0c;而非’0’ 数组元素是boolean型&#xff1a;false 数组元素是引用数据类型&#xff1a;null eg 非数组元素必须初始化后才能进行使用…

ssl初一组周六模拟赛【2018.3.10】

前言 先说一下成绩&#xff08;因某人要求去掉了某人&#xff09;&#xff1a; 姓名成绩xjq280wyc200(本人)lrz200zyc100hjq40lw30hzb0 正题 题目1&#xff1a;Clocest &#xff08;ssl2574&#xff09; 贪心30分&#xff0c;改后100分dfs 链接&#xff1a; http://blog.c…

如何重构箭头型代码

转载自 如何重构"箭头型"代码 本文主要起因是&#xff0c;一次在微博上和朋友关于嵌套好几层的if-else语句的代码重构的讨论&#xff0c;在微博上大家有各式各样的问题和想法。按道理来说这些都是编程的基本功&#xff0c;似乎不太值得写一篇文章&#xff0c;不过我…

SpringMVC的上传与下载

文章目录SpringMVC的上传SpringMVC的下载SpringMVC的上传 [1] 上传的功能需求 随着我们互联网的发展&#xff0c;我们的用户从直接访问网站获取信息。变为希望将自己本地的 资源发送给服务器&#xff0c;让服务器提供给其他人使用或者查看。还有部分的用户希望可以将 本地的资…

中秋节支付宝口令红包解析

大家好&#xff0c;我是雄雄。继上篇文章&#xff08;10.1日&#xff09;发完之后就没有再日更公众号了&#xff0c;给自己也放几天假。这个假期实在是太太太长了&#xff0c;放的我都心气憔悴&#xff01;出去玩吧&#xff0c;没地儿去&#xff0c;在家吧&#xff0c;除了看书…

asp.net core高级应用:TagHelper+Form

上一篇博客《asp.net core新特性(1):TagHelper》我讲解了TagHelper的基本用法和自定义标签的生成&#xff0c;那么我就趁热打铁&#xff0c;和大家分享一下TagHelper的高级用法~~&#xff0c;大家也可以在我的博客下随意留言。对于初步接触asp.net core的骚年可以看看我对TagHe…