Subsequence(序列自動機模板題)

2022-03-05 16:05:16 字數 695 閱讀 7968

題目大意:給你乙個字串,然後再給你m個字串,然後問你在第乙個字串中不連續的子串能不能構成輸入的子串。

具體思路:構建乙個序列自動機就可以了。剛接觸,記錄下

ac**:

1 #include2

using

namespace

std;

3 # define ll long

long

4 # define inf 0x3f3f3f3f

5const

int maxn =2e5+100;6

const

int mod = 1e9+7;7

char

str[maxn];

8int now[30];9

int nex[maxn][30

];10

void

init()

1120 now[str[i]-'

a']=i;21}

22}23int

main()

2445}46

if(!flag)

47 printf("

no\n");

48else

49 printf("

yes\n");

50}51return0;

52 }

hdu3530 Subsequence 單調佇列

題目 在乙個序列中找乙個最長子串,使得子串的m 極差 k.維護乙個遞減的單調佇列q1 隊首為當前最大 同時維護乙個遞增的單調佇列q2 隊首為當前最小 控制最大減最小 小於等於k 若最大減最小大於等於m,則更新答案。include include include include includeusin...

hdu 3530 Subsequence 單調佇列

題目鏈結 題意 給定陣列,求得最長的區間,使得其中最大值與最小值的差值在給定的範圍內 m,k 思路 維護兩個佇列記錄元素下標,lo 與 hi 具體如何維護之後再講 保證 a lo 單調增,且記當前處理到下標 i 的位置,則 a lo x 即為 lo x 1 1 i 區間中的最小值 保證 a hi 單...

HDU3530 Subsequence 單調佇列

題目 題意 給你乙個長度為n的陣列,要求一段連續的子串行滿足子串行中最大值減去最小值在 m,k m,k m,k 範圍內。求該子串行的最大長度。思路 我們假設區間右邊界為i ii,然後求下標 1,i 1,i 1,i 中滿足最大值減去最小值在 m,k 範圍內的最小左邊界。我們可以用單調佇列維護乙個當前字...