丁姐姐最近迷上了lcs(the longest common substring)!
今天她想找個其它東西玩,於是她找到了兩個字串a和b,現在她想知道它們尾頭銜接形成的最長字串,例如a = abc,b = bca從a的尾部開始,a串的bc與b串的bc頭尾銜接。
輸入資料報含多個測試樣例,每個測試樣例佔兩行,第一行是字串a,第二行是字串b,保證每個字串的長度不超過1010。
a和b尾頭銜接形成的最長字串,對於每個測試例項,輸出一行,若兩個字串不銜接,輸出"null!"(包含引號)。
abcbca
wadad
asasd
waaw
wawwa
bcadasa
「null!」
首先很簡單的一道題,題意為尋找最長的匹配前字尾鏈結,所以只需要從s中尋找第乙個匹配的字元依次進行判斷。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define pi 3.1415926535
#define max 10005
#define inf 0x3f3f3f3f
#define lowbit(x) (x&(-x))
#define fori(a,b) for(int i=a;i<=b;i++)
#define mem(a,b) memset(a,b,sizeof(a))
#define base 10000
#define base 10000
using namespace std;
typedef
long
long ll;
const
int maxn=
1e15+5
;using namespace std;
typedef
struct fract fract;
char a[
1011
],b[
1011];
intmain()
if(!j)for
(i=0
;i) cout<}}
這道題考慮了很久才交,因為當時考慮是否存在不斷更新的情況,後來考慮是不能存在的。 丁姐姐喜歡Fibonacci
時間限制 c c 1秒,其他語言2秒 空間限制 c c 131072k,其他語言262144k 64bit io format lld 丁姐姐最近迷上了斐波那契數列!眾所周知,斐波那契數列的遞迴定義是 f1 1,f2 1,fn fn 1 fn 2 n 3 f 1 1,f 2 1,f n f f n ...
丁姐姐喜歡LCSv
時間限制 c c 1秒,其他語言2秒 空間限制 c c 131072k,其他語言262144k 64bit io format lld 丁姐姐最近迷上了lcs the longest common substring 今天她想找個其它東西玩,於是她找到了兩個字串a和b,現在她想知道它們尾頭銜接形成的...
wannafly10 b題 思維 類lcs 好題
題意 中文 首先吐槽一下這道題的資料太水了,賽後看別人的 很多連樣例都過不了的竟然過了這道題。思路 這道題可以看成是判斷密碼鎖和密碼是否存在最長公共子串行。include includeusing namespace std const int maxn 1e5 50 char s maxn boo...