XMOJ Sep Div1 T1 抽象做法

August_Light發表於2024-09-26

題意:輸入 \(\pi\) 的小數點後 \(2 \times 10^5\) 位(其中保證有且僅有一位錯誤),輸出錯誤的那一位是什麼正確的應該是什麼。(有程式碼長度限制)

附加題:輸出錯誤的是第幾位

選定模數 \(m\),對位置 \(\bmod m\) 相同的位置做雜湊。因為有且只有一位錯,所以 \(m\) 個雜湊中只有一個錯的,所以可以確定那個位置 \(\bmod m\) 的值。

選定 \(m \in \{6,5,7,11,13,17\}\),根據 CRT 可知能唯一確定位置。

列舉那一位的其他值,透過雜湊找到原本正確的值。

相關文章