【洛谷 P1659】 [国家集训队]拉拉队排练(manacher)
题目链接
马拉车+简单膜你
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int MAXN = 11000010;
const int MOD = 19930726;
char b[MAXN], a[MAXN << 1];
int hw[MAXN << 1], ans = 1, n, c[MAXN];
#define ll long long
ll now, m;
int fast_pow(int a, ll k){int ans = 1;while(k){if(k & 1) ans = (ll)ans * a % MOD;a = (ll) a * a % MOD;k >>= 1;}return ans;
}
int main(){scanf("%d%lld", &n, &m);scanf("%s", b);a[0] = a[1] = '#';for(int i = 0; i < n; ++i)a[(i << 1) + 2] = b[i], a[(i << 1) + 3] = '#';int maxright = 0, mid; n = (n << 1) + 3;for(int i = 1; i < n; ++i){if(i < maxright)hw[i] = min(hw[(mid << 1) - i], hw[mid] + mid - i);else hw[i] = 1;while(a[i + hw[i]] == a[i - hw[i]]) ++hw[i];if(hw[i] + i > maxright){maxright = hw[i] + i;mid = i;}++c[hw[i] - 1];}for(int i = (n - 3) >> 1; i; --i){if(i & 1 ^ 1) continue;now += c[i];if(m <= now){ ans = (ll) ans * fast_pow(i, m) % MOD; m = 0; break; }m -= now; ans = (ll) ans * fast_pow(i, now) % MOD;}if(m) ans = -1;printf("%d\n", ans);return 0;
}
转载于:https://www.cnblogs.com/Qihoo360/p/10848541.html
【洛谷 P1659】 [国家集训队]拉拉队排练(manacher)相关推荐
- P1659 [国家集训队]拉拉队排练
题目描述 艾利斯顿商学院篮球队要参加一年一度的市篮球比赛了.拉拉队是篮球比赛的一个看点,好的拉拉队往往能帮助球队增加士气,赢得最终的比赛.所以作为拉拉队队长的楚雨荨同学知道,帮助篮球队训练好拉拉队有多 ...
- luogu P1659 [国家集训队]拉拉队排练
唔....话说好久没有发布题解了(手痒痒了 首先特别鸣谢lykkk大佬今天下午教我Manacher算法,甚是感谢 为了体现学习成果,写一篇蒟蒻版的题解(大佬勿喷 言归正传 题面-->在这儿 首先 ...
- 洛谷P2619 [国家集训队]Tree I 题解
洛谷P2619 [国家集训队]Tree I 题解 题目链接:P2619 [国家集训队]Tree I 题意: 给你一个无向带权连通图,每条边是黑色或白色.让你求一棵最小权的恰好有 need\text{n ...
- 洛谷P1494 [国家集训队]小Z的袜子
P1494 [国家集训队]小Z的袜子 题目描述 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命-- ...
- 洛谷 P4643 [国家集训队]阿狸和桃子的游戏
题目:[国家集训队]阿狸和桃子的游戏 思路: 截个图,这个思路太巨了Orz. 图可以点.
- 洛谷P2839 [国家集训队]middle(主席树)
P2839 [国家集训队]middle 我们可以考虑二分中位数 checkcheckcheck 答案,那么我们对于某个值 midmidmid ,把 [l,r][l,r][l,r] 内的所有小于 mid ...
- 洛谷P2619 [国家集训队2]Tree I(带权二分,Kruscal,归并排序)
洛谷题目传送门 给一个比较有逼格的名词--WQS二分/带权二分/DP凸优化(当然这题不是DP). 用来解决一种特定类型的问题: 有\(n\)个物品,选择每一个都会有相应的权值,需要求出强制选\(nee ...
- 洛谷P4555 [国家集训队]最长双回文串(manacher 线段树)
题意 题目链接 Sol 我的做法比较naive..首先manacher预处理出以每个位置为中心的回文串的长度.然后枚举一个中间位置,现在要考虑的就是能覆盖到i - 1的回文串中 中心最靠左的,和能覆盖 ...
- [回文树][BZOJ2160][国家集训队]拉拉队排练
Description 艾利斯顿商学院篮球队要参加一年一度的市篮球比赛了.拉拉队是篮球比赛的一个看点,好的拉拉队往往能帮助球队增加士气,赢得最终的比赛.所以作为拉拉队队长的楚雨荨同学知道,帮助篮球队训 ...
最新文章
- R语言cox回归模型案例(绘制列线图、校正曲线):放疗是否会延长胰脏癌手术患者的生存时间
- 从传统运维到云运维演进历程之软件定义存储(一)
- Hadoop2.0 YARN
- 实验室机器OracleXE客户端连接远程Oracle服务器
- 派生类的拷贝构造【C++继承】
- Design Pattern Quick Overview
- 图片加载框架Picasso - 源码分析
- Java开发人员应该知道的三件事
- mysql 8.0远程连接_安装mysql 8.0.17并配置远程访问的方法
- MySQL数据类型之BLOB与TEXT及其最大存储限制
- 【clickhouse】clickhouse 主从配置 从节点无数据
- php 实现顺序查找
- 10个前端经常遇到的问题解决方案
- SPSS-描述统计与图示分析
- Android中一个有趣的crash的日志分析
- java flex 聊天_【转帖】实现了视频私聊功能
- 2023最新!QQ接入ChatGpt!!!保姆级教程
- 自己制作的直流电机驱动器
- 程序学3DMax之改变物体的中心轴及物体归置零点
- 【Proteus仿真】步进电机转速数码管显示
热门文章
- 《MySQL——count()逻辑》
- 成对的歌曲,其总持续时间可被60整除
- php 移植 arm 精简,php5.4.5移植到arm-linux摘要,lighttpd配置
- c和汇编混合编程----main的反汇编
- php 子网掩码正则,验证子网掩码正则表达式代码范例
- 大四阶段的社会实践的主要目的是_疫情当前,大三大四的学生“很惨”?大一大二的学生也别松懈...
- Linux--线程死锁
- 常量指针与指针常量的区别(转帖)
- 计算机网络(一)计算机网络体系
- 【Linux系统编程学习】 动态库的制作与使用