PIPI的字串問題

2021-10-23 01:11:21 字數 956 閱讀 3705

pipi研究了多年字串後發現回文串是字串中最優雅的一種存在了。所以pipi發明了一種指標叫優雅度的指標來衡量乙個字串的優雅程度。優雅度定義如下:

1.空串和非回文串的優雅度為0。

2.乙個長度為len的回文串的優雅度為,其長度為len/2(向下取整)的字首和字尾的優雅度+1.

例如串"baabbaab"的優雅度為2,「babbab」的優雅度為3.

現在pipi有乙個長度為n的字串,請你求出這個字串的每乙個字首的優雅度的總和。

第一行為乙個整數n,表示串長。(n<=1e6)

第二行給出乙個字串,僅包含大寫、小寫字母以及數字。

輸出乙個數字,表示答案。

4acwa

#include

using

namespace std;

const

int n=

1e6+5;

typedef

unsigned

long

long ull;

ull base=

23333

;ull hs[n]

,pw[n]

,hs_[n]

;///hs表示原始字串的雜湊值,hs_表示逆序字串的雜湊值

char s[n]

;int dp[n]

;///記錄從第一次字元到第i個字元的優雅度

ull get

(int l,

int r)

intmain()

dp[1]

=1;int ans=1;

///記錄優雅度的字首和

for(

int i=

2;i<=n;i++

) ans+

=dp[i];}

printf

("%d"

,ans)

;}

PIPI的字串問題

pipi發現不少字串是相似的,相似是指長度相同,且如果短字串中兩個位置的字元相同則在長字串的子串中的對應位置也相同,如果短字串中兩個位置的字元不同則在長字串的子串中的對應位置也不同,比如 abcc和xyzz就是相似的。現在pipi有乙個短字串s,乙個長字串a,他想知道在這個長字串中有幾個子串與短字串...

1346 PIPI的字串問題

第一行給出字串s。s 1e6.第二行給出詢問次數q,q 1e6.接下來每行給出字串t,t 1e6.題目保證所有詢問 t 之和 1e7.對於每個詢問,輸出乙個整數表示答案。abab 2abababab ababcbaba52 include using namespace std typedef un...

1345 PIPI的字串問題 (字串雜湊)

pipi雙來考查大家字串處理的能力啦。給定乙個字串s,以及q次詢問。每次詢問給出兩個正整數l,r,你需要回答s l r 是否為回文串。第一行給出字串s,s 1e6.保證字串僅由小寫字母構成。第二行給出詢問次數q,q 1e6.接下來每行給出兩個整數l,r,1 l,r s 對於每個詢問,若字串s中 l,...