牛客 2018多校演算法第五場C KMP

2022-05-01 15:27:15 字數 542 閱讀 8466

字串的問題

在原來的字串中字首與字尾相同,且原來的中間還含有這個子串;

這裡加的num【】陣列真是太厲害了,可以直接用來判斷中間是否有子串;

#include #include 

#include

#include

#include

using

namespace

std;

const

int maxn =1e6+7

;int

nt[maxn],len;

intnum[maxn];

string

str;

void

get_nt()

}int

main()

int i =nt[len];

//coutwhile

(i)

i=nt[i];

}if(find)cout<<"

just a legend

"

}

2018牛客多校第五場 H subseq

傳送門 這場樹狀陣列用法專場,skydec說這題很套路的題,很簡單,然而處理處dp陣列後最後的貪心我想了半天還問了一蛤別人,菜不成聲.jpg,先處理出dp陣列,dp i 表示以a i 為開頭的從i到n的所有遞增子串行的方案數,本來應該用線段樹了,然而好多人使用了神奇的樹狀陣列,以前都是add函式從i...

牛客多校(第五場)E room

將乙個房間當做乙個點,後來的房間與之前的房間中不用搬的人作為權值,建圖,跑最大權匹配,就是不用搬的人數,在減一下即可,km演算法,o n 3 include include include includeusing namespace std define n 200 define inf 0x3f...

2019 8 1 牛客多校第五場

index 牛客多校第五場 題號標題 通過率做法狀態a digits 2 1017 2383 簽到 bgenerator 1 555 3660 矩陣快速冪 十進位制優化 cgenerator 2 37 626 dgenerator 3 4 23 eindependent set 1 45 110 f...