hdu 5716 帶可選字元的多字串匹配

2021-08-19 01:17:56 字數 857 閱讀 9381

給你乙個原串

乙個匹配串

特殊的是,這個匹配串的每一位可能可以匹配不同的字母

問你可以匹配的位置

今天早上做51nod模糊搜尋的時候看到了ta

ngjz

t an

gj

z的乙個黑科技

於是去學了一下

像這種奇怪的匹配方法是不可以用kmp解決的

但是可以用一種壓位的方法做到nm

64 nm64

具體看這裡,我就不多說了

然後這是乙個裸題

code:

#include

#include

#include

#include

#include

using

namespace

std;

const

int n=2000005;

const

int nn=300;

const

int m=505;

int id[n],cnt=0;

bitset

f[2],g[nn];

void prepare ()

char ss[n],ss1[n];

int n,m;

int len;

void shiftand (int n,int m)

now^=1;

}if (tf==false) printf("null\n");

}int main()

}shiftand(n,m);

gets(ss);

}return

0;}

51nod1532 帶可選字元的多字串匹配

有乙個文字串,它的長度為m 1 m 2000000 現在想找出其中所有的符合特定模式的子串位置。符合特定模式是指,該子串的長度為n 1 n 500 並且第i個字元需要在給定的字元集合si中。因此,描述這一特定模式,共需要s1,s2,sn這n個字元集合。每個集合的大小都在1 62之間,其中的字元只為數...

多位元組字串與寬字串的轉換

多位元組字串與寬字串的轉換可使用c api者win32 api.c api mbstowcs,wcstombs win32 api multibytetowidechar,widechartomultibyte 下面著重介紹win32 api的用法,c api的用法較為簡單可參照win32 api。...

多位元組字串與寬字串的轉換

多位元組字串與寬字串的轉換 多位元組字串與寬字串的轉換可使用c api者win32 api.c api mbstowcs,wcstombs win32 api multibytetowidechar,widechartomultibyte 下面著重介紹win32 api的用法,c api的用法較為簡...