一.lcs(1e6)
最基礎的sam題,建第乙個串的sam,然後把第二個串放在上面跑的時候如果跑不動就回到root,不然就走下去。
code:
#include
const
int n=
2000005
;typedef
long
long ll;
using
namespace std;
char s[n]
,t[n]
;int n,len=
0,ans=0;
struct suffixautomaton}}
void
build()
void
calc()
ans=
max(ans,len);}
cout<}}sam;
intmain()
二.恐嚇信(usaco2011dec)
和lcs那個差不多,還要簡單一點,回原點的時候ans+1
code(略)
三.[sdoi2016]生成魔咒
#include
#define ll long long
using
namespace std;
inline
intread()
while
(isdigit
(ch)
)return res*f;
}const
int n=
2000005
;int n,add;
ll ans=0;
map<
int,
int>ch[n]
;int fa[n]
,l[n]
,last,tot;
inline
intcalc
(int x)
void
ins(
int c)}}
void
work()
}int
main()
四.[zjoi2015]諸神眷顧的幻想鄉
廣義字尾自動機,把trie樹上的每個葉子節點(此題只有20個)來倒著插入sam,然後統計答案就行
code:
#include
#define ll long long
using
namespace std;
inline
intread()
while
(isdigit
(ch)
)return res*f;
}const
int n=
2000010
;char s[n]
;int vis[n]
,head[n]
,nxt[n]
,cnt=0;
inline
void
add(
int x,
int y)
namespace sam
}return np;
}void
dfs(
int x,
int y,
int l)
void
work()
for(
int i=
1;i<=n;i++)if
(in[i]==1
)dfs
(i,0,1
);long
long ans=0;
for(
int i=
1;i<=tot;i++
) ans+
=l[i]
-l[fa[i]];
printf
("%lld\n"
,ans);}
}signed
main()
五.musical themes
實際上這題原資料n=20000,o(n
2)
o(n^2)
o(n2
)顯然不可做
我們發現變調雖然會改變量值大小,但並不會影響相鄰兩個數之間的差值,所以我們把所有數與相鄰的兩個數作差,將得到的值插入sam,然後就是求乙個串的最長重複子串(重複不能重疊)的問題了,會處理right的童鞋應該就都會了
不會處理right的話可以看看dzyo的部落格
code(略)
六.[noi2015]品酒大會
noi2015day1真的水 並查集離散化簽到題,樹剖果題都考了
先把串倒著插入,這樣字首就變成了字尾
發現串如果是r相似的,那麼他們一定是r-1,r-2,…1,0相似的
所以可以用類似於字首和的方式統計答案,然後就好做了
code:
#include
#define ll long long
#define inf 1000000000000000000ll
using
namespace std;
inline
intread()
while
(isdigit
(ch)
)return res*f;
}const
int n=
600005
;char s[n]
;int vis[n]
,head[n]
,nxt[n]
,cnt=0;
inline
void
add(
int x,
int y)
ll lmax
(ll a,ll b)
ll lmin
(ll a,ll b)
ll ans1[n]
,ans2[n]
;namespace sam}}
inline
void
build()
inline
bool
check
(int x)
void
dfs(
int v)
} ll a[n]
;void
work()
}int
main()
總結持續更新
1 從屬關係的區別 link屬於xhtml標籤,而 import是css提供的語法規則,link除了載入css,還可以定義rss,定義rel連線屬性等,import就只能載入css。2 載入順序的區別 頁面載入時,link會同時被載入,而 import引用的css會等頁面被載入完後再載入。3 相容性...
OpenCV 更新總結(持續更新)
基於 opencv git changelog 以下為自總結的部分關鍵點內容,需要檢視具體更新內容的,小手一點進入官方日誌 更新於 20210331 4.4.0 dnn 模組 由於 sift 專利已經過期,sift 加入到主分支,不再受contrib nonfree限制 支援yolov4,onnx增...
python好題集 持續更新
1 多選 下面的 哪些是執行會報錯的 a.int 33 b.int 3.3 c.float 3h d.str 1,3 答案解析 b選項 3.3 為字串,不能轉換成int c選項 3h是錯誤表達,不能進行轉換。故選bc 2 多選 定義這樣乙個函式 下面說法正確的是 defe1 print in e1 ...