2019 8 27看部落格日誌(字串)

2021-09-26 13:42:02 字數 2381 閱讀 7918

今天將字串hash,字尾陣列,tire樹看完了,開了幾道ac自動機的題

題目目錄:

這幾道題hdu平台在記憶體上限制的十分巧妙,貌似多加乙個可以省略的陣列就爆記憶體了

而且不是tle是爆記憶體…

hdu 1251 統計難題(字典樹trie):找出所有以字串s為字首的單詞個數。

hdu 1671 phone list(字典樹trie):問你字典中是否有乙個字串是其他字串的字首?

hdu 1247 hat』s words(字典樹trie):單詞匹配。

hdu 4099 revenge of fibonacci(高精度加法+字典樹trie):字典樹的基本應用,但是涉及大整數,所以需要注意較多細節。

字尾陣列書上沒有特別設立乙個章節,但是刷題發現這個知識點確實有補的必要

然後是一道比較優秀的題目

hdu-6194 string string string(字尾陣列) 講真題目不是特別容易,但是看別人**還是能看懂的

基本思想進度:

比較成功ac**:

hash 將整個字串進行計數區間統計字首值,在呼叫的時候將遍歷變為直接對字首進行計算,複雜度 o(n) 線性變為 o(1)

#include

#include

using namespace std;

const

int hash=

131;

const

int n=

1e6+10;

char s[n]

;int n,i;

int sum[n]

,p[n]

;int l1,r1,l2,r2,len;

intmain()

for(i=

1;i<=n;i++

)return0;

}

一道字尾陣列的題:

實現比較繁瑣的一道綜合題,很棒 。

wa了五六次 ,一次ac

順便複習了二分快排

#include

#include

#include

#include

#include

using namespace std;

typedef

unsigned

long

long ull;

const

int n=

300010

,base=

131;

int n;

char str[n]

;ull h[n]

,p[n]

;int sa[n]

;int

get(

int l,

int r)

intgett

(int a,

int b)

return l;

}bool cmp

(int a,

int b)

intmain()

sort

(sa+

1,sa+

1+n,cmp)

;for

(int i=

1;i<=n;i++

)printf

("%d "

,sa[i]-1

);cout<

//puts(""); 也可以puts("")當作換行

for(

int i=

1;i<=n;i++)if

(i==1)

printf

("0 ");

else

printf

("%d "

,gett

(sa[i-1]

,sa[i]))

; cout<

//puts("");

return0;

}

思想細節上就是字尾陣列的使用,hash處理時確實得好好想一想

ull的使用自動取模

然後細節上比較少見的是puts()換行和int_min的呼叫

小結:

今天看的題目比昨天多一點,一天30道多一點。

本來打算今天把字串結束然後開始總結資料結構的題型,但是發現越挖越多,迴圈hash,擴充套件kmp,之後ac自動機,字尾自動機,多多眼熟題型,保證心裡有底。

java操作字串 CSDN部落格

title test class arrat description 該方法的主要作用 param 設定檔案 return 返回型別 void throws test public void test is equals else if str1.equals str2 else title tes...

格式字串 ywyuan 新浪部落格

格式字串的一般形式為 輸入資料寬度 長度 型別 其中有方括號的項為任選項。各項的意義如下。1 型別表示輸入資料的型別,其格式符和意義如下表所示。格式字元意義 d 輸入十進位制整數 o 輸入八進位制整數 x 輸入十六進製制整數 u 輸入無符號十進位制整數 f或e 輸入實型數 用小數形式或指數形式 c ...

從字串越界看棧分配

code int x 35 char str 10 strcpy str,www.it315.org 共13個字母 問此時x的值是多少 在vc6.0裡值 x 103 大部分人都知道這是陣列越界了,但為什麼x是103呢?棧的分配是從高低址到低位址,vc裡棧記憶體對齊為變數分配的空間大小一般以4 byt...