当前位置:网站首页>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;
}
边栏推荐
- Flutter learning 5-integration-packaging-publish
- [Student Graduation Project] Design and Implementation of the Website Based on the Web Student Information Management System (13 pages)
- Mini Program_Dynamic setting of tabBar theme skin
- LAB 信号量实现细节
- dedecms后台生成提示读取频道信息失败的解决方法
- 1.3 mysql批量插入数据
- upload upload pictures to Tencent cloud, how to upload pictures
- Distributed systems revisited: there will never be a perfect consistency scheme...
- uva1325
- Please write the SparkSQL statement
猜你喜欢

Flutter real machine running and simulator running

Basic properties of binary tree + oj problem analysis

【cesium】3D Tileset 模型加载并与模型树关联

类的底层机制
![[cesium] 3D Tileset model is loaded and associated with the model tree](/img/03/50b7394f33118c9ca1fbf31b737b1a.png)
[cesium] 3D Tileset model is loaded and associated with the model tree

mutillidae download and installation

Flutter真机运行及模拟器运行

WPF中DataContext作用

算法---一和零(Kotlin)

8.04 Day35-----MVC三层架构
随机推荐
In the hot summer, teach you to use Xiaomi smart home accessories + Raspberry Pi 4 to connect to Apple HomeKit
数字孪生技术在电力系统中的应用现状
[cesium] 3D Tileset model is loaded and associated with the model tree
Application status of digital twin technology in power system
Dephi reverse tool Dede exports function name MAP and imports it into IDA
请写出SparkSQL语句
human weakness
Community Sharing|Tencent Overseas Games builds game security operation capabilities based on JumpServer
【cesium】元素高亮显示
dedecms error The each() function is deprecated
人性的弱点
ESP32 485 Illuminance
How does the Flutter TapGestureRecognizer work
Homework 8.4 Interprocess Communication Pipes and Signals
Day14 jenkins部署
[Surveying] Quick Summary - Excerpt from Gaoshu Gang
Algorithms - ones and zeros (Kotlin)
Structured Light 3D Reconstruction (2) Line Structured Light 3D Reconstruction
upload上传图片到腾讯云,如何上传图片
RL reinforcement learning summary (1)