当前位置:网站首页>2022 Hangzhou Electric Multi-School 1st Session 01
2022 Hangzhou Electric Multi-School 1st Session 01
2022-08-05 05:12:00 【The wonderful sauce of eating peppercorns】
题意:设F(i)表示sA prefix for the string[1…i]The intersection length of all intervals in k的倍数的boardnumber of strings,求 ∏ i = 1 ∣ s ∣ ( f ( i ) + 1 ) \prod_{i=1}^{|s|}{(f(i)+1)} ∏i=1∣s∣(f(i)+1)
做法:z函数,差分
先求出s串的z函数(exkmp),设z[i]表示s串的z函数.Each prefix can be usedboardConvert each suffix to the prefix of the original stringlcp,Consider each suffix[i…n]的贡献,
画个图,容易发现当z[i]>=i时,At this time this suffix is the same as the original stringlcppart only contributes.
此时第2*(i-1)+k,2*(i-1)+2k,2*(i-1)+3k…Every prefix can count towards this part of the contribution.Just make a difference,But distance isk.
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define IOS ios::sync_with_stdio(false),cin.tie(nullptr)
#define _for(i,a,b) for(int i=(a) ;i<=(b) ;i++)
#define _rep(i,a,b) for(int i=(a) ;i>=(b) ;i--)
#define mst(v,s) memset(v,s,sizeof(v))
#define pii pair<int ,int >
#define pb(v) push_back(v)
#define all(v) v.begin(),v.end()
#define int long long
#define inf 0x3f3f3f3f
#define INF 0x7f7f7f7f7f7f7f7f
#define endl "\n"
#define fi first
#define se second
#define ls p<<1
#define rs p<<1|1
#define lson p<<1,l,mid
#define rson p<<1|1,mid+1,r
#define AC return 0
#define ldb long double
const int N=2e6+5;
const int mod=998244353;
const double eps=1e-8;
ll nxt[N];
void qnxt(char *c){
int len = strlen(c);
int p = 0, k = 1, l;
nxt[0] = len;
while(p + 1 < len && c[p] == c[p + 1]) p++;
nxt[1] = p;
for(int i = 2; i < len; i++){
p = k + nxt[k] - 1;
l = nxt[i - k];
if(i + l <= p) nxt[i] = l;
else{
int j = max(0ll, p - i + 1ll);
while(i + j < len && c[i + j] == c[j]) j++;
nxt[i] = j;
k = i;
}
}
}
int lb,tag[N];
char b[N];
ll ans;
signed main(){
#ifndef ONLINE_JUDGE
freopen("in.txt", "r", stdin);
#endif
IOS;
int T;cin>>T;
while( T-- ){
cin >> b;
int k;cin>>k;
qnxt(b);
lb = strlen(b);
//枚举以i开始的后缀,Contribution difference
for(int i=0 ;i<lb ;i++){
int X = nxt[i];
int id = i+1;//真实下标
//Find the far left and the far rightpre[1...i]算贡献
if( X>=id && X-id+1 >= k){
tag[2*(id-1) + k]++;//左
int t = (X-id+1)/k*k;
if( 2*(id-1) + t + k <= lb ) tag[2*(id-1) + t + k]--;
}
}
int ans=1;
_for(i,1,lb){
if( i-k>=1) tag[i] = tag[i] + tag[i-k];
ans = ans * (tag[i]+1)%mod;
}
cout<<ans<<endl;
_for(i,0,lb+k){
tag[i]=0;
}
}
return 0;
}
边栏推荐
- Analysis of Mvi Architecture
- Application status of digital twin technology in power system
- [Student Graduation Project] Design and Implementation of the Website Based on the Web Student Information Management System (13 pages)
- 基于Web的商城后台管理系统的设计与实现
- MySQL Foundation (1) - Basic Cognition and Operation
- 数字孪生技术在电力系统中的应用现状
- Basic properties of binary tree + oj problem analysis
- Requests the library deployment and common function
- server disk array
- 社区分享|腾讯海外游戏基于JumpServer构建游戏安全运营能力
猜你喜欢
【学习笔记之菜Dog学C】动态内存管理之经典笔试题
Flutter learning three-Flutter basic structure and principle
RL强化学习总结(一)
Mini Program_Dynamic setting of tabBar theme skin
LeetCode:1403. 非递增顺序的最小子序列【贪心】
[Student Graduation Project] Design and Implementation of the Website Based on the Web Student Information Management System (13 pages)
MySQL Foundation (1) - Basic Cognition and Operation
How can Flutter parent and child components receive click events
jvm 三 之堆与栈
Develop a highly fault-tolerant distributed system
随机推荐
数字_获取指定位数的小数
Cryptography Series: PEM and PKCS7, PKCS8, PKCS12
server disk array
upload上传图片到腾讯云,如何上传图片
[Surveying] Quick Summary - Excerpt from Gaoshu Gang
entry point injection
JeeSite New Report
【解码工具】Bitcoin的一些在线工具
[WeChat applet] WXML template syntax - conditional rendering
upload upload pictures to Tencent cloud, how to upload pictures
Flutter Learning 4 - Basic UI Components
What is ASEMI photovoltaic diode, the role of photovoltaic diode
C language - vernacular to understand the original code, inverse code and complement code
dedecms织梦tag标签不支持大写字母修复
Flutter学习4-基本UI组件
ESP32 485 Illuminance
Flutter real machine running and simulator running
Mvi架构浅析
uva1325
【学习笔记之菜Dog学C】动态内存管理之经典笔试题