拼湊(字串)

2021-10-09 19:18:32 字數 776 閱讀 9987

拼湊題意描述:s="puleyaknoi",給定t個很長很長的小寫字母字串(<=1e5),問最短的子串行中能找到s的序列的長度。

分析:暴力肯定不行,因為s中每個字元都不相同,若第i個字元為』u』,那麼我們下一步只用找』l』就好了。那麼怎麼記錄下乙個字母出現的位置呢?

我們可以倒著推,每次找乙個字母的下一位的位置,那麼倒著推是就需要記錄下下一位的位置,等於到這一位時直接將pos賦給他,如果沒有下一位就為0.s長度為10,所以我們需要找9次。

處理之後就直接暴力1~n。

**:

#include #define mst(a,x) memset(a,x,sizeof(a))

#define ll long long

using namespace std;

templatevoid read(t &x)while(isdigit(c))x=res*f;}

const ll maxn = 1e5 + 10;

const ll mod = 1e9 + 7;

ll dp[maxn];

char s="puleyaknoi",str[maxn];

int main()

}ll mi=1e9;

for(ll i=1;i<=n;i++)

x++;

p=dp[p];

}if(ok) mi=min(mi,p-i+1);

}if(mi==1e9) mi=-1;

cout<}

return 0;

}

對字串的拼湊,神奇似vue的寫法

與vue相似之處 給html邦值都是用大括號 括號裡面寫變數 原理 用正則表達匹配 中的是否存在表示式中預先宣告的變數,如果有則返回變數結果,沒有則不處理 對字串的拼湊 param args description return description string.prototype.format...

ORACLE in 字串,字串,字串

因為傳進來的引數是 字串,字串,字串,要實現in 字串,字串,字串 select from htl price p where p.hotel id 30073328 and p.able sale date between to date 2009 03 27 yyyy mm dd and to ...

字串,字串陣列,字串指標!!

字串 字元陣列實際上是一系列字元的集合,也就是 字串 string 字串陣列 在c語言中,沒有專門的字串變數,沒有string型別,通常就用乙個字元陣列來存放乙個字串。c語言規定,可以將字串直接賦值給字元陣列 在c語言中,字串總是以 0 作為串的結束符。上面的兩個字串,編譯器已經在末尾自動新增了 0...