CF 口胡筆記

DZhearMins發表於2024-10-17

¿ 如何搞笑高效做題 ?

只需要口胡CF題就行啦!(

從今天起口胡 CF 按照洛谷透過人數排序的題單

CF2000 Part 1 開始

CF24E XOR on Segment

  • 給定 \(n\) 個數的序列 \(a\)\(m\) 次操作,操作有兩種:
    1. \(\displaystyle\sum_{i=l}^r a_i\)
    2. \(a_l\sim a_r\) 異或上 \(x\)
  • \(1\le n\le 10^5\)\(1\le m\le 5\times 10^4\)\(0\le a_i\le 10^6\)\(1\le x\le 10^6\)

思路:開 \(\log(A)\) 個線段樹記錄二進位制下每一位是 \(0\) 還是 \(1\)\(A\) 代表值域。空間 \(T(2n\log(A))\) ,時間 \(T(n\log(n)\log(A))\)

CF1200E Compress Words

  • Amugae 有 \(n\) 個單詞,他想把這個 \(n\) 個單詞變成一個句子,具體來說就是從左到右依次把兩個單詞合併成一個單詞。合併兩個單詞的時候,要找到最大的 \(i(i\ge 0)\),滿足第一個單詞的長度為 \(i\) 的字尾和第二個單詞長度為 \(i\) 的字首相等,然後把第二個單詞第 \(i\) 位以後的部分接到第一個單詞後面。輸出最後那個單詞。

不就是 kmp 裸題嗎,過。

等等,我看題解好像有詐。我寫一寫程式碼

廢了,寫了四遍還沒過

突然看到題解的一句話:

首先,這題要先注意題面。如果你把合併單詞的過程理解成“單詞與單詞合併”,你就會被 test 4 卡掉。【調了很久才發現】

正確的理解方式是:“單詞與合併完成的句子合併”

哦哦哦哦哦哦原來是這樣我

那複雜度不就變成 \(O(n^2)\) 了嗎?寄。

哦,原來新串和原串 getnxt 的時候只用加入與新串長度相等的原串就行了,複雜度 \(T(2n)\)

CF784E Twisted Circuit

  • 題目描述電路圖圖片
  • 讀入四個整數 \(0\) 或者 \(1\),作為如圖所示的電路圖的輸入。請輸出按照電路圖運算後的結果。

簡單題,過。

相關文章