题解

这题好坑啊。模数也十分诡异。
注意:K≤1012K≤1012K\leq 10^{12},要开long longlonglonglong\ long。
注意:只要奇数个数的回文串
注意:达不到KKK个输出−1" role="presentation" style="position: relative;">−1−1-1
还得套个快速幂


代码

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e6+10,mod=19930726;
int p,n,ch[N][26],len[N],f[N],tot;
ll K,ans=1,t[N],cnt[N];
char s[N];inline ll fp(ll a,ll b)
{ll re=1;for(;b;b>>=1,a=a*a%mod) if(b&1) re=re*a%mod;return re;
}
inline int new_node(int m){len[tot]=m;return tot++;}
inline int get_fail(int x,int m)
{for(;s[m-len[x]]!=s[m+1];x=f[x]);return x;}inline void insert(int alp,int m)
{p=get_fail(p,m);if(!ch[p][alp]){int now=new_node(len[p]+2);f[now]=ch[get_fail(f[p],m)][alp];ch[p][alp]=now;}   cnt[(p=ch[p][alp])]++;
}int main(){int i,j;scanf("%d%lld%s",&n,&K,s+1);new_node(0);new_node(-1);f[0]=1;for(i=1;i<=n;++i) insert(s[i]-'a',i-1);for(i=tot-1;i>1;--i) if(f[i]!=0 && f[i]!=1)cnt[f[i]]+=cnt[i];n=n-((n+1)&1);for(i=2;i<tot;++i) t[len[i]]+=cnt[i];for(i=n;i>0;i-=2){if(t[i]==0) continue;if(K>=t[i]){K-=t[i];ans=ans*fp((ll)i,t[i])%mod;}else{ans=ans*fp((ll)i,K)%mod;K=0;}if(K==0) break;}if(K>0) printf("-1\n");else printf("%lld\n",ans);
}

【BZOJ】2160拉拉队排练-回文自动机相关推荐

  1. HYSBZ - 2160 拉拉队排练(回文自动机)

    题目链接:点击查看 题目大意:给出一个字符串 s ,和一个整数 k,现在要求出所有长度为奇数的回文子串从大到小开始数前 k 个回文子串的长度的乘积 题目分析:回文自动机跑一遍字符串 s 后把长度为奇数 ...

  2. BZOJ 2160 拉拉队排练

    2160: 拉拉队排练 Description 艾利斯顿商学院篮球队要参加一年一度的市篮球比赛了.拉拉队是篮球比赛的一个看点,好的拉拉队往往能帮助球队增加士气,赢得最终的比赛.所以作为拉拉队队长的楚雨 ...

  3. bzoj 2160: 拉拉队排练

    2160: 拉拉队排练 Time Limit: 10 Sec  Memory Limit: 259 MB [Submit][Status][Discuss] Description 艾利斯顿商学院篮球 ...

  4. bzoj 4044 Virus synthesis - 回文自动机 - 动态规划

    题目传送门 需要高级权限的传送门 题目大意 要求用两种操作拼出一个长度为$n$的只包含'A','T','G','C'的字符串 在当前字符串头或字符串结尾添加一个字符 将当前字符串复制,将复制的串翻转, ...

  5. [ BZOJ 2160 ] 拉拉队排练

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

  6. BZOJ 4044 Luogu P4762 [CERC2014]Virus Synthesis (回文自动机、DP)

    好难啊..根本不会做..基本上是抄Claris... 题目链接: (bzoj)https://www.lydsy.com/JudgeOnline/problem.php?id=4044 (luogu) ...

  7. BZOJ 4480: [Jsoi2013]快乐的jyy(回文自动机)

    Description [故事背景] JYY在JSOI有很多很多的好朋友,比如PUPPY,KFC还有PUPPUP.因为 有了这么多的好朋友,所以JYY每天都很快乐.某天,JYY发现好朋友之间关 系的好 ...

  8. 后缀自动机/回文自动机/AC自动机/序列自动机----各种自动机(自冻鸡) 题目泛做...

    题目1 BZOJ 3676 APIO2014 回文串 算法讨论: cnt表示回文自动机上每个结点回文串出现的次数.这是回文自动机的定义考查题. 1 #include <cstdlib> 2 ...

  9. BZOJ4044 Luogu P4762 [CERC2014]Virus Synthesis (回文自动机、DP)

    好难啊..根本不会做..基本上是抄Claris... 题目链接: (bzoj)https://www.lydsy.com/JudgeOnline/problem.php?id=4044 (luogu) ...

最新文章

  1. sdk没有登录什么意思_不需要接入SDK的第三方登录及分享
  2. RPC实现MQ通信的一个小例子
  3. 对使用Jolt调用Tuxedo的一个简单的封装
  4. Zabbix监控 之 OID动态索引
  5. JAVA自动补全插件
  6. mysql 协议的query包及解析
  7. 那些年收藏的技术文章(一) CSDN篇
  8. html语言hr的用法,htmlhr各种样式使用 - 米扑博客
  9. 【JUC】第六章 Fork/Join 框架、CompletableFuture
  10. Windows下Ionic Android开发环境搭建
  11. 15个在线网站检测工具
  12. 怎么把mov格式的视频转换成mp4?
  13. 【SSM电商项目后台开发】001-数据库建表
  14. 向武 清华大学 计算机,哥哥保送弟弟全市第二 双胞胎同时上清华(组图)
  15. czl蒻蒟的OI之路7
  16. Internal error: : 8 [#1] PREEMPT SMP ARM,vmlinux反汇编命令调试查找错误的步骤
  17. getElementByTagName
  18. 树莓派4B debian嵌入式远程连接远程控制xrdp(Ubuntu为例)
  19. Jenkins 用标签构建配置完后。 标签不显示
  20. 如何将您的Nintendo 3DS重置为出厂设置

热门文章

  1. linux串口号固定
  2. JAVA IO(续)
  3. 51单片机c语言tlc549,tlc549中文资料汇总_tlc549引脚图及功能_工作原理_特性参数及典型应用电路程序...
  4. 简单认识什么是UI设计
  5. 江苏苏州|第七届“祖冲之杯”昆山创新创业大赛上海智能制造装备与技术选拔赛项目征集公告
  6. Flutter的原理及美团的实践!
  7. 思路迪通过港交所上市聆讯:前五个月收入1.6亿元,专利储备丰富
  8. [炉石]2017杭州第五周实力赛记录
  9. 人脸识别是什么?及人脸识别的流程
  10. 微信小程序 map地图使用