CF1554D(神仙構造題)

2022-09-09 19:18:31 字數 284 閱讀 3011

構造乙個字串使得其每個子串都出現奇數次

考慮極為形式化的構造,擺一堆相同的字元上去,可以發現

那麼我們可以想到把讓相同的子串拼起來,使得偶數變成奇數,那麼我們需要乙個長度為 \(l\) 的字串和乙個長度為 \(l-1\) 的字串達到目標,但是我們需要保證這兩個串是相互獨立的,只需要在中間新增無關的字元

簡而言之,就是在前面擺 \(\frac\) 個某一種字元,在最後擺 \(\frac-1\) 個相同種類的字元 ,中間缺失的部分至多只有 \(2\) 個,放上無關字元即可,容易證明無關字元不對答案產生影響

CF 427D 字尾陣列

題意 求兩串字串的公共最短子串,且這個子串只在任意一串中出現一次 首先明確字尾陣列將所有的字尾 也可以視為第i個點開始的子串 字典序排列,將最近似的子串集合在一起。lcp求的是附近兩個子串的最長公共字首 如果某乙個子串當且僅當出現兩次,則必須是lcp i 是區域性最大。該子串最大長度為lcp i 最...

cf669d 觀察規律

jibancanyang author jibancanyang created time 一 4 25 01 45 31 2016 file name cf669d.cpp problem 觀察規律 get 有規律奇數偶數總是相互間隔,且奇數同奇數相對位置不變,偶數同偶數相對位置不變。說以還是要多...

CF915D 解題報告

此題目洛谷評分錯誤,根本沒有紫題難度。最開始的想法 列舉刪除的每一條邊,做一遍拓撲排序,最後直接暴力得出答案。但是,仔細分析時間複雜度 o m n m 根本過不去,所以想優化。我們可以發現,當有 x 條邊是指向 u 時,我們在上面的演算法流程中就會把每一條邊都列舉一次,列舉 x 次。但仔細想想,對於...