牛客 109B 好位置 字串水題

2022-05-28 05:03:15 字數 1074 閱讀 4441

大意: 給定字串$s1,s2$, 對於$s1$中所有與$s2$相等的子串行$t$, $t$在$s1$中的下標定義為好位置. 求$s1$是否所有位置都是好位置.

顯然$s1$的字首要與$s2$相等, 並且$s2$字尾連續相等的字元要與$s1$的字尾相等, 然後再判斷下中間字元是否合法.

#include #include #include #include #include #include #include #include #include #include #include #define rep(i,a,n) for(int i=a;i<=n;++i)

#define per(i,a,n) for(int i=n;i>=a;--i)

#define hr putchar(10)

#define pb push_back

#define lc (o<<1)

#define rc (lc|1)

#define mid ((l+r)>>1)

#define ls lc,l,mid

#define rs rc,mid+1,r

#define x first

#define y second

#define io std::ios::sync_with_stdio(false)

#define endl '\n'

#define db(a) (

ll qpow(ll a,ll n)

ll inv(ll x)

inline int rd()

//head

const int n = 1e6+10;

int n, m, nxt[n][26], f[26];

char s1[n], s2[n];

int main()

int x = s2[m];

per(i,1,m)

rep(i,0,25) nxt[n+1][i]=nxt[n+2][i]=n+1;

per(i,1,n)

rep(i,m+1,n) if (s1[i]!=s2[m])

puts("yes");

}

刷題筆記 牛客字串專項練習5

題目 設棧的初始狀態為空,當字串行a3 作為棧的輸入時,輸出長度為3的且可以用作c語言識別符號的字串序列有 個。a.4 b.6 c.3 d.5答案 c 知識點 棧和識別符號 解析 棧的順序是先進後出 對於字串行為a3 有以下5種情況 1 a入棧,再出棧,然後3入棧,再出棧,入棧,再出棧,輸出0序列是...

牛客字串KMP訓練題 可愛即正義

一開始的時候怎麼也想不明白,根本就不知道時間複雜度怎麼優化,後來在左神左學長的指點下,發現了字串的模式串是給定的,並且其無法在其本身上找到一段與其本身匹配的地方,也就是說,沒有辦法在母串上找到多個相互交錯的模式串 接下來就簡單了,分別討論母串上找到的模式串有times個的情況 當times 2時,無...

牛客網 程式設計題練習 字串陣列相關

day 01 第一題 題目 在字串中查詢第一次出現且只出現一次的字元。如輸入 asdfgfdsa 則輸出 g 演算法解析 演算法1 從頭到尾開始掃瞄這個字串。當訪問到某個字元時,一次和後面的字元比較。如果後面字元沒有與該字元相同的字元,就說明這個字元是第一次出現的字元。如果字串有n個字元,每個字元可...