AtCoder Beginner Contest 246 賽時記錄
阿新 • • 發佈:2022-04-02
目錄
。
中所有選了的串的位置交。
A - Four Points
把 \(x_i, y_i\) 分別異或起來輸出即可。
B - Get Closer
沒看懂題目啥意思,觀察了一下樣例,發現答案是
設 \(p = \sqrt {x^2 + y^2}\),輸出的兩個數分別為 \(\frac{x}{p}, \frac{y}{p}\)。
C - Coupon
貪心即可,做法很多。
設 \(cnt = \sum \left \lfloor \frac{a_i}{X} \right \rfloor, sum = \sum a_i\)
如果 \(cnt \ge K\) ,答案為 \(sum - KX\)。
否則,從所有的 \(a_i \% X\) 中挑出 \(K-cnt\) 個最大的。
剩下的和就是答案。
D - 2-variable Function
發現 \((10^6)^3 = 10^{18}\),考慮列舉其中一個數 \(a\),然後二分另外一個數 \(b\),對合法的答案取最小值即可。
E - Bishop 2
直接 bfs,每次更新向四個方向,能跑多遠跑多遠,如果遇到不能更新的地方就直接 break
掉。
F - typewriter
直接容斥。
拿 bitset
存每一個字串。
列舉當前狀態 \(S\),取 \(S\)
設交有 \(x\) 個可用的位置。
答案為
\[ans = \sum (-1)^{|S|} x^L \]後面那個可以在外面預處理。
總複雜度為 \(\mathcal O(2^{n} \frac{n}{w})\)。