2024.5~6 訓練日記

HaHeHyt發表於2024-05-19

\(\color{grey}\bigstar\) 可以秒殺的題。

\(\color{green}\bigstar\) 思考一會兒後可以秒的題。

\(\color{blue}\bigstar\) 需要較長時間思考的題。

\(\color{#F1C40F}\bigstar\) 看題解、稍加指點就會做的題。

\(\color{red}\bigstar\) 看題解後需要較長時間消化,甚至現在都沒有完全理解的題。

題目後面會寫一點評價與感悟。按照 Linshey 意見,一套模擬賽算 \(1\) 題。

日期範圍:$5.19\sim $。總計過題:\(0\)


5.19

當天過題數:\(1\)

\(\color{green}\bigstar\) P5164

$\texttt{solution}$

簡要題意:給定 \(0\sim 2^n-1\) 這些點,對 \(\forall i,j\) 滿足 \(|\text{popcount}(i)-\text{popcount}(j)|=1\) 連邊。若這個圖有尤拉回路則稱 \(n\) 為好數。

輸入 \(m\),輸出 \([1,m]\) 的所有好數。

注意到有尤拉回路當且僅當每個點度數為偶數。考慮把所有 \(\text{popcount}\) 相等的點縮成一個等價類 \(S_i\)

考慮 \(S_k\) 中點的度數,應為 \(\dbinom{n}{k-1}+\dbinom{n}{k+1}\)。於是 \(\forall 0\le k\le n,2\mid \dbinom{n}{k-1}+\dbinom{n}{k+1}\)

\(k=n\) 得到:\(2\mid \dbinom{n}{n-1}\Rightarrow 2\mid n\)

又得到:\(\forall i\equiv j\pmod 2,\dbinom{n}{i}\equiv \dbinom{n}{j}\pmod 2\)

由於有 \(\dbinom{n}{0}\equiv 1\pmod 2,\dbinom{n}{n-1}\equiv 0\pmod 2,2\mid n\),於是推出 \(\forall k,\dbinom{n}{k}\equiv k+1\pmod 2\)

移項:\(1\equiv \dfrac{1}{k+1}\dbinom{n}{k}\equiv \dfrac{1}{n+1}\dbinom{n+1}{k+1}\equiv \dbinom{n+1}{k+1}\pmod 2\)

於是 \(\forall 1\le k\le n+1,2\nmid \dbinom{n+1}{k}\)

應用 Kummer 定理,有 \(\forall 1\le k\le n+1,(n+1)-k\) 的二進位制計算中不會退位。

於是 \(n+1=2^m-1\Rightarrow n=2^m-2\)。列舉輸出即可,記得開 ull

相關文章