[ BZOJ 2160 ] 拉拉队排练

\(\\\)

\(Description\)


一个由小写字母构成的长为\(N\)的字符串,求前\(K\)长的奇数长度回文子串长度之积,对\(19930726\)取模后的答案。

  • \(N\in [1,10^6]\)\(K\in [1,10^{12}]\)

\(\\\)

\(Solution\)


  • \(Manacher\)处理出所有位置的回文半径,因为答案要求奇数长度,所以不用插入特殊字符,在原串上直接跑\(Manacher\)就好,回文半径内的以当前点为回文中心的每一个子串都是回文串。
  • 所以开一个长度的桶,只给回文半径对应的最长子串长度打标记,显然一个标记代表着后面所有位置都\(+1\),所以计算的时候,一个长度的回文子串个数是长度标记的前缀和。
  • 要求的\(K\)非常大,快速幂处理。

\(\\\)

\(Code\)


#include<cmath>
#include<cstdio>
#include<cctype>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define N 1000010
#define R register
#define gc getchar
#define mod 19930726
using namespace std;
typedef long long ll;char c,s[N];ll m,res=1,sum;int n,len[N],cnt[N];inline void init(){scanf("%d%lld",&n,&m);while(!isalpha(c=gc()));s[1]=c; s[0]='['; s[n+1]=']';for(R int i=2;i<=n;++i) s[i]=gc();
}inline void manacher(){for(R int i=1,p=0,mr=0;i<=n;++i){len[i]=i>mr?1:min(mr-i+1,len[(p<<1)-i]);while(s[i-len[i]]==s[i+len[i]]) ++len[i];if(i+len[i]-1>mr){p=i;mr=i+len[i]-1;}++cnt[(len[i]<<1)-1];}
}inline ll qpow(ll x,ll t){ll res=1;while(t){if(t&1) (res*=x)%=mod;(x*=x)%=mod; t>>=1;}return res;
}int main(){init();manacher();for(R int i=((n/2)<<1)+1;i>=1;i-=2){sum+=(ll)cnt[i];if(sum>=m){printf("%lld",(res*qpow(i,m))%mod);return 0;}(res*=qpow(i,sum))%=mod; m-=sum;}puts("-1");return 0;
}

转载于:https://www.cnblogs.com/SGCollin/p/9690070.html

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

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

相关文章

用户体验可视化指南pdf_R中增强可视化的初学者指南

用户体验可视化指南pdfLearning to build complete visualizations in R is like any other data science skill, it’s a journey. RStudio’s ggplot2 is a useful package for telling data’s story, so if you are newer to ggplot2 and would love to develop your visua…

nodeJS 开发微信公众号

准备测试公众号 mp.weixin.qq.com/debug/cgi-b… 关注&#xff0c;获取测试公众号 内网渗透工具 natapp.cn/login 按照教程下载客户端进行配置 后台服务接入公众号 有netapp 生成的映射外网IP > URL 搭建express开发环境 这个网上有教程&#xff0c;自行百度 接口配置和签名…

单招计算机应用基础知识考试,四川邮电职业技术学院单招计算机应用基础考试大纲...

2021年高职单招升学一对一咨询小艺老师:18290437291(微信)四川邮电职业技术学院单招计算机应用基础考试大纲一、考试性质本技能考试是中等职业学校(含普通中专、职业高中、技工学校和成人中专)信息技术类专业毕业生参加四川邮电职业技术学院2016年单独招生考试。二、考试依据1.…

linux挂载磁盘阵列

linux挂载磁盘阵列 在许多项目中&#xff0c;都会把数据存放于磁盘阵列&#xff0c;以确保数据安全或者实现负载均衡。在初始安装数据库系统和数据恢复时&#xff0c;都需要先挂载磁盘阵列到系统中。本文记录一次在linux系统中挂载磁盘的操作步骤&#xff0c;以及注意事项。 此…

dedecms ---m站功能基础详解

织梦2015年6月8日更新后&#xff0c;就添加了很多针对手机移动端的设计&#xff0c;最大的设计就是添加了生成二维码的织梦标签和织梦手机模板功能&#xff0c;织梦更新后&#xff0c;默认的 default模板中就包含手机模板&#xff0c;所以我们可以给织梦网站设计双模板&#xf…

一个小菜鸟给未来的菜鸟们的一丢丢建议

写这篇文章的主要原因是有个建筑行业的朋友觉得搞建筑身累心累&#xff0c;想转到我们这个it行业来加入我们的编程大军中&#xff0c;找我咨询了一哈。在我了解了他的逻辑和理科这方面只是一般般的基础上&#xff0c;我给他的建议是&#xff1a;学习前端&#xff0c;而不是后端…

sql横着连接起来sql_SQL联接的简要介绍(到目前为止)

sql横着连接起来sqlSQL Join是什么意思&#xff1f; (What does a SQL Join mean?) A SQL join describes the process of merging rows in two different tables or files together.SQL连接描述了将两个不同表或文件中的行合并在一起的过程。 Rows of data are combined bas…

霸县计算机学校,廊坊中专排名2021

一、招生专业类别专业名称r制招生人政培养日标备注预备技师数控加工(中心操做工)340格养掌握先进敛p加ot知识&#xff0c;是部创新精神和较a空际操作能力&#xff0c;4了ftc71h0iwro感娶显型人于-宇缺毕让生培养具备电气白动化oirm和o技能&#xff0c;丛事电气设督安装、调试、…

《Python》进程收尾线程初识

一、数据共享 from multiprocessing import Manager 把所有实现了数据共享的比较便捷的类都重新又封装了一遍&#xff0c;并且在原有的multiprocessing基础上增加了新的机制list、dict 机制&#xff1a;支持的数据类型非常有限 list、dict都不是数据安全的&#xff0c;需要自己…

北京修复宕机故障之旅

2012-12-18日 下午开会探讨北京项目出现的一些问题&#xff0c;当时记录的问题是由可能因为有一定数量的客户上来后&#xff0c;就造成了Web服务器宕机&#xff0c;而且没有任何时间上的规律性&#xff0c;让我准备出差到北京&#xff0c;限定三天时间&#xff0c;以及准备测试…

计算机学院李世杰,有关办理2016级转专业学生相关手续通知

《有关办理2016级转专业学生相关手续通知》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《有关办理2016级转专业学生相关手续通知(4页珍藏版)》请在技术文库上搜索。1、1 关于办理 2016 级转专业学生相关手续的通知 各学院(部)、各相关部门&#xff1a; 根据西安科技…

一般线性模型和混合线性模型_从零开始的线性混合模型

一般线性模型和混合线性模型生命科学的数学统计和机器学习 (Mathematical Statistics and Machine Learning for Life Sciences) This is the eighteenth article from the column Mathematical Statistics and Machine Learning for Life Sciences where I try to explain som…

《企业私有云建设指南》-导读

内容简介第1章总结性地介绍了云计算的参考架构、典型解决方案架构和涉及的关键技术。 第2章从需求分析入手&#xff0c;详细讲解了私有云的技术选型、资源管理、监控和运维。 第3章从计算、网络、存储资源池等方面讲解了私有云的规划和建设&#xff0c;以及私有云建设的总体原则…

vs2005的webbrowser控件如何接收鼠标事件

这个问题来自论坛提问,vs2005的webbrowser控件如何接收鼠标事件&#xff0c;很多事情其实自己动动脑子就有办法的。主要是3步&#xff0c;给dom对象插入js脚本去响应鼠标-〉通过url跳转去通知webbrowser-〉截获跳转事件去c#中处理 示例代码&#xff1a; using System; using…

[TimLinux] Python 迭代器(iterator)和生成器(generator)

1. 可迭代对象 from collection import Iterableclass Iterable(metaclassABCMeta):...def __iter__(self): # 只实现了__iter__ 方法while False:yield None 能够在 for ... in obj&#xff1a;中使用的对象&#xff08;obj&#xff09;就是一个可迭代对象。 2. 迭代器 from …

太原冶金技师学院计算机系,山西冶金技师学院专业都有什么

山西冶金技师学院专业大全大家在考试之后对除了选择学校之外&#xff0c;还更关注专业的选择&#xff0c;山西冶金技师学院有哪些专业成了大家最为关心的问题。有些同学一般是选择好专业再选择自己满意的学校&#xff0c;下面小编将为你介绍山西冶金技师学院开设的专业及其哪些…

海南首例供港造血干细胞志愿者启程赴广东捐献

海南首例供港造血干细胞志愿者启程赴广东捐献。 张瑶 摄 海南首例供港造血干细胞志愿者启程赴广东捐献。 张瑶 摄 中新网海口1月23日电 (张茜翼 张瑶)海南省首例供港造血干细胞捐献者晶晶(化名)23日启程赴广东进行捐献&#xff0c;将于28号正式捐献采集造血干细胞&#xff0c;为…

如何击败Python的问题

Following the previous article written about solving Python dependencies, we will take a look at the quality of software. This article will cover “inspections” of software stacks and will link a free dataset available on Kaggle. Even though the title say…

KindEditor解决上传视频不能在手机端显示的问题

KindEditor自带的上传视频生成的HTML代码为<embed>&#xff0c;在手机端并不支持。于是可以自己在控件里增加生成video标签相关代码。 参考https://www.jianshu.com/p/047198ffed92。。 然而对着修改后没有成功&#xff0c;可能是那里没有改对吧。依然生成的是<embed&…

湖北经济学院的计算机是否强,graphics-ch11-真实感图形绘制_湖北经济学院:计算机图形学_ppt_大学课件预览_高等教育资讯网...

第十一章 真实感图形技术1,简单光照明模型2,多边形绘制方法3,透明4,整体观照明模型5,光线跟踪算法第十章 真实感图形绘制光照模型 (Illumination Model):计算某一点的光强度的模型11.1 真实感图形的 特点? 能反映物体表面颜色和亮度的细微变化? 能表现物体表面的质感? 能通过…