#10035. 「一本通 2.1 练习 1」Power Strings

news/2024/5/19 14:21:31/文章来源:https://blog.csdn.net/CH_canghan/article/details/131306143

Power Strings

题意简述:

求一个字符串由多少个重复的子串连接而成。

例如 ababab 由三个 ab 连接而成,abcdabcd 由一个 abcd 连接而成。

输入格式

本题多组数据

每一组数据仅有一行,这一行仅有一个字符串 s s s

输入的结束标志为一个 .

输出格式

对于每一组数据,输出这组字符串由多少个重复的子串连接而成。

说明/提示

1 ≤ ∣ s ∣ ≤ 1 0 6 1\le |s|\le 10^6 1s106

题目描述

PDF

输入格式

输出格式

样例 #1

样例输入 #1

abcd
aaaa
ababab
.

样例输出 #1

1
4
3

大致思路

基本套模板即可
只需求出每次输入的主字符串的哈希函数值,枚举可能的子串长度,再判断子串哈希值是否合法即可

理论实现:

首先,子串长度要能被主串长度整除。
其次,假设我们当前枚举的子串长度为K,则我们需要判断 s t r [ 1 ] str[1] str[1] s t r [ K ] str[K] str[K], s t r [ K + 1 ] str[K+1] str[K+1] s t r [ 2 K ] str[2K] str[2K]… 以此类推。
再根据 H ( C ′ ) = H ( C , k + n ) − H ( C , k ) ∗ b n H(C')=H(C,k+n)-H(C,k)*b^n H(C)=H(C,k+n)H(C,k)bn即可判断。

代码实现

bool check(ull a,ull len){//子串判断for(int i=1;i<=n;i+=len){if(a!=sum[i+len-1]-sum[i-1]*poww[len])return 0;}return 1;
}
poww[0]=1;for(int i=1;i<=N-99;i++){poww[i]=poww[i-1]*b;}scanf("%s",s+1);
while(s[1]!='.'){sum[0]=0;n=strlen(s+1);for(int i=1;i<=n;i++){sum[i]=sum[i-1]*b+(ull)(s[i]);}for(int i=1;i<=n;i++){if(n%i!=0)continue;ull k=sum[i];if(check(k,i)){//当前长度是否合法cout<<n/i<<endl;break;}}scanf("%s",s+1);}

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

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

相关文章

IT云运维技术分享

1 运维体系 1.1 市场对运维的需求 时代发展到今天&#xff0c;社会的生活方式与生产方式的全面的数字化&#xff0c;无论是传统企业还是互联网企业&#xff0c;都在全面上云&#xff0c;这也意味着企业的关键业务乃至“身家性命”都已经全部放在 IT 系统之上&#xff0c;因此…

VMware Integrated OpenStack 7.3 - 支持 vSphere 8.0U1 和 NSX 4.1 并向下兼容

VMware Integrated OpenStack 7.3 - 支持 vSphere 8.0U1 和 NSX 4.1 并向下兼容 VMware 支持的 OpenStack 发行版&#xff1a;在 VMware 虚拟化技术之上运行企业级 OpenStack 云 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-vio-7/&#xff0c;查看最新版。原创…

android 如何分析应用的内存(八)——Android 7.0以后的malloc debug

android 如何分析应用的内存&#xff08;八&#xff09; 接上文&#xff0c;介绍六大板块中的第三个————malloc调试和libc回调 上一篇文章中&#xff0c;仅仅是在分配和释放的时候&#xff0c;拦截对应的操作。而不能进一步的去检查内存问题。比如&#xff1a;释放之后再…

智能单相电能表

智能单相电能表是一种基于嵌入式系统和电子技术的智能化电能表&#xff0c;具有多种功能和特点&#xff0c;下面是关于智能单相电能表的介绍。 一、工作原理 智能单相电能表采用电子技术和嵌入式系统实现电能测量的智能化和自动化。它包括电压采样装置、电流采样装置、电能计算…

B/S版医院检验科lis系统源码 云lis系统

LIS系统为实验室服务对象提供检验申请、采集标本、结果查询等功能&#xff1b;为实验室工作人员的核收标本、分送标本、传送资料、分析前处理、质量控制、单向或双向通讯、分析后处理、结果审核、打印报告、结果查询等标本检测过程提供全面的技术支持。 .Net Core LIS系统源码…

Git 多账号多仓库配置 SSH

前言 在我们使用 Git 中&#xff0c;有时候会遇到多账号多仓库的情况&#xff0c;比如公司的 GitLab 和 GitHub&#xff0c;以及自己的 GitHub&#xff0c;这时候我们就需要配置多个 SSH 密钥来区分不同的账号和仓库 生成 SSH 密钥 根据你注册仓库的邮箱生成 SSH 密钥&#…

centos下的Nginx的安装

1.Nginx简介 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件&#xff08;IMAP/POP3&#xff09;代理服务器。其特点是占有内存少&#xff0c;并发能力强。 其他服务器介绍&#xff1a;Apache服务器、Tomcat服务器、Lighttpd服务器 2.nginx依赖安装 yum -y instal…

PSINS工具箱学习(一)下载安装初始化、SINS-GPS组合导航仿真、习惯约定与常用变量符号、数据导入转换、绘图显示

文章目录 一、前言二、相关资源三、下载安装初始化1、下载PSINSyymmdd.rar工具箱文件2、解压文件3、初始化4、启动工具箱导览 四、习惯约定与常用变量符号1、PSINS全局变量结构体 glv2、坐标系定义3、姿态阵/姿态四元数/欧拉角 Cnb/qnb/att4、IMU采样数据 imu5、AVP导航参数 av…

【MySQL 日志管理、备份与恢复】

目录 一、数据库备份的分类1、从物理与逻辑的角度1.1、物理备份: 对数据库操作系统的物理文件&#xff08;如数据文件&#xff0c;日志文件等&#xff09;的备份1.2、逻辑备份 2、从数据库的备份策略角度3、常见的备份方法3.1、物理冷备3.2、专用备份工具mysqldump 或者 mysqlh…

使用Channel的一些业务场景

使用Channel的一些业务场景 首先需要明确的就是&#xff0c;发送方才知道什么时候关闭 channel &#xff0c;这个是比较符合逻辑的。 我们需要知道哪些情况会使 channel 发生 panic 关闭一个 nil 值会引发关闭一个已经关闭的 channel 会引发向一个已经关闭的 channel 发送数据…

破圈丨2023年绿色积分消费返利:云联惠3.0升级版【循环购】商业模式

破圈丨2023年绿色积分消费返利&#xff1a;云联惠3.0升级版【循环购】商业模式 京东供应链商品/自营商品/供应商商品 平台上面产品超过300w款产品&#xff0c;均为京东供应链货品&#xff0c;由京东统一仓储和配送&#xff0c;从源头上面杜绝假冒伪劣产品的存在&#xff0c;然…

three.js中通过gsap动画库实现物体的动画

一、什么是gsap GSAP&#xff08;GreenSock Animation Platform&#xff09;是一个JavaScript动画库&#xff0c;由GreenSock公司开发&#xff0c;用于在Web应用程序中创建高性能动画。 使用GSAP可以通过一些简单的动画操作来实现复杂的动画效果&#xff0c;例如TweenLite、T…

【百套源码】HTML5期末大作业 - 各类网页作业源码合集

文章目录 持续更新文章记录1️⃣ 个人介绍类相关源码1.1 html实现个人简历1.2 科技风个人简历1.3 网站风个人简历1.4 多种风格个人主页模板1.5 html好看的个人简历明星版1.6 专属个人主页-系列11.7 专属个人主页-系列21.8 专属个人主页-系列31.9 专属个人主页-系列41.10 专属个…

【Red Hat7.9安装Oracle11g--调用图形化界面的几种方式】

【Red Hat7.9安装Oracle11g--调用图形化界面的几种方式】 &#x1f53b; 一、续上一篇[【Red Hat 7.9---详细安装Oracle 11g---图形化界面方式】](https://blog.csdn.net/qq_41840843/article/details/131198718?spm1001.2014.3001.5501)⛳ 1.1 前言⛳ 1.2 方式一、使用Xmanag…

AI绘图软件分享:Midjourney 基础教程(二)

大家好&#xff0c;我是权知星球&#xff0c;今天继续给大家介绍AI绘图软件分享&#xff1a;Midjourney 基础教程&#xff08;二&#xff09; ⼀、Midjourney 服务器介绍 1.Discord 软件介绍 Midjourney AI 绘画服务基于 Discord 软件的&#xff0c;它的绘画功能&#xff0c;…

Linux0.11内核源码解析-file_dev.c

目录 功能描述 int file_read(struct m_inode * inode, struct file * filp, char * buf, int count) int file_write(struct m_inode * inode, struct file * filp, char * buf, int count) 功能描述 该文件主要是由两个函数file_read()和file_write()组成&#xff0c;提供…

「已解决」已有Umi Antd 环境下安装 formily v2 依赖报错问题

背景 在一个项目中想引入 formily v2 试一下这个针对复杂表单的解决方案&#xff0c;结果发现安装后报错&#xff0c;目前已有的第三方库大致为 “ant-design/icons”: “^5.0.1”, “ant-design/pro-components”: “^2.4.4”, “umijs/max”: “^4.0.68”, “ahooks”: “^3…

一个好看美观的登录注册界面的实现

序言&#xff1a;之前介绍那个博客&#xff0c;然后自己搞了这个界面。最近有人和我要&#xff0c;把代码给大家贴出来&#xff0c;提供参考。 首先是这个界面哈 <!DOCTYPE html> <html lang"en"> <head><script src"../static/lib/jquer…

Kubernetes初认识

一、Kubernetes初认识 1.k8s的特性 弹性伸缩&#xff1a;使用命令、UI或者基于CPU使用情况自动快速扩容和缩容应用程序实例&#xff0c;保证应用业务高峰并发时的高可用性&#xff1b;业务低峰时回收资源&#xff0c;以最小成本运行服务。 自我修复&#xff1a;在节点故障时重…

OpenMMLab-AI实战营第二期——5-2. MMSegmentation代码课

文章目录 1. 自定义数据集1.0 整理数据集为特定格式1.1 持久化运行&#xff08;用文件定义&#xff09;1.2 运行时生效&#xff08;直接运行时定义一个class&#xff09;1.3 注意事项 2. 配置文件3. 运行训练和测试X. 其他语义分割数据集 视频链接&#xff1a;MMSegmentation代…