原创 【翻譯】Go語言的聲明語法

譯註 摸魚翻譯 翻譯過程中找到了好多略讀時沒有發現的知識。 作者:Rob Pike 譯者:LittleFall 原地址:Go’s Declaration Syntax 引入 Go的新使用者想知道爲什麼聲明語法和C風格很不相似,在這

原创 【筆記】ubuntu mysql 無法進入的解決方法

ubuntu mysql 無法進入的解決方法 在 mysql 登陸上遇到了無數次問題,每次解決完就忘了,好惡心,記錄一下。 我的版本 查看自己的系統版本和 mysql 版本 lsb_release -a mysql --versi

原创 【題解】Codeforces 633C. Spy Syndrome2 AC自動機

給出句子的加密規則: 字母全部變成小寫 反轉每個單詞 移除所有空格。 現在給定一個加密後的句子(1e4)(1e4)(1e4),一個可用的單詞表(1e5個,總長總長不超過1e6)(1e5個,總長總長不超過1e6)(1e5個,總長

原创 【題解】Codeforces316G Good Substrings 後綴自動機,多串

字符串板刷 23/57,24/5723/57, 24/5723/57,24/57 有n(10)n(10)n(10)個規則,每個規則由字符串ppp以及整數對l,rl,rl,r構成。 如果一個字符串ttt在ppp中的出現次數在[l,r

原创 【題解】Codeforces 441D. Valera and Swaps 排列與環的轉換

對於一個1到n1到n1到n的排列ppp,定義f(p)f(p)f(p)爲最少所需的交換次數(不要求相鄰),使得pi=ip_i=ipi​=i。 給定長爲n(3000)n(3000)n(3000)的排列ppp和m(3000)m(3000

原创 【筆記】C++中的智能指針

參考自《effective morden c++》 裸指針的缺點 無法知道指向的是單個對象還是一個數組. 無法知道使用完之後是否需要析構,即是否擁有指向的對象. 無法知道應當如何析構(使用 delete 還是專門的函數) 無法知

原创 【題解】Codeforces149E. Martian Strings 前綴函數

字符串板刷 21/5721/5721/57 給定一個長爲n(1e5)n(1e5)n(1e5)的字符串SSS,然後給定m(100)m(100)m(100)個長度不超過100010001000的模式串。 考慮所有的T=S[a..b]+

原创 【題解】Codeforces873F. Forbidden Indices 後綴自動機

給定一個長爲n(2e5)n(2e5)n(2e5)的字符串sss,一些位置被標記爲不可用。 找到一個子串,長度∗合法出現次數長度*合法出現次數長度∗合法出現次數最大,合法出現次數是指endpos不在不可用位置上的出現次數。 求最大的

原创 【題解】Codeforces533F. Encoding 按字符分解,AC自動機

給一個文本串,一個模式串,2e5,輸出文本串的哪些位置和模式串榮譽匹配。 A和B榮譽匹配是指,A和B長度相同,並且如果存在若干個沒有重複字母的榮譽轉換<c1,c2>,把A中的每個c1都換成c2,每個c2換成c1,然後它和B相等。

原创 【筆記】windows10+ubuntu 雙系統安裝手記

前言 參考鏈接: Windows10安裝ubuntu18.04雙系統教程 windows10安裝ubuntu雙系統教程(絕對史上最詳細) 上面的兩篇博客寫的很好,圖文並茂而且考慮到了各種情況,非常推薦。 建議本文全部瀏覽一遍再動手

原创 【題解】Codeforces126B. Password 前綴函數(KMP)

給一個字符串S(1e6)S(1e6)S(1e6),求它的一個最長的子串ttt,滿足ttt既是SSS的前綴,又是SSS的後綴,又在一個既不是前綴又不是後綴的地方出現。 如果沒有這樣的子串,輸出Just a legend. 性質很強

原创 【題解】Codeforces514C. Watto and Mechanism 哈希

給定n,m(3e5)n,m(3e5)n,m(3e5),先給出nnn個文本串,再有mmm個查詢串,對每個查詢串詢問:是否存在一個文本串,和查詢串恰有一個字符不同。 字符串總長不超過6e56e56e5. hash練手. 採取hash

原创 【題解】Codeforces19C. Deletion of Repeats 後綴數組

給定一個字符串,長爲n(1e5)n(1e5)n(1e5),字符集1e91e91e9,保證每個字符最多出現10次。 定義重複:長爲偶數的子串,左半部分和右半部分完全相等。 每次選擇最短、最靠左的一個重複,刪除它的左半部分,以及這個重

原创 【題解】Codeforces 727E. Games on a CD AC自動機

給定n,k(1e5,n∗k≤1e6)n,k(1e5,n*k\le 1e6)n,k(1e5,n∗k≤1e6),給定一個長爲n∗kn*kn∗k的環形字符串,已知它由nnn個長爲kkk的互不相同字符串相接而成。 再給定g(g≥n)g(g

原创 【題解】Codeforces 427D. Match & Catch 後綴自動機

給定兩個字符串A,B(5000),找到最短的唯一公共子串,無解輸出-1. 唯一公共子串是指在A和B中均只出現了一次。 對A#B建立後綴自動機,維護endpos集的三個屬性:出現次數cnt、第一次出現位置firstpos、最後一次