看上去沒有新的贊助歌曲,沿用 Blessing。
ARC122
ARC122D Xor Game
考慮從高位到低位考慮。如果最高位 0 數量與 1 數量都為奇數,那麼最高位一定是 1,但是後手一定可以選擇一對最小的數,使得其後面幾位 xor 值最小。如果都是偶數,那麼就按最高位分成兩個互不相干的遊戲。總複雜度 \(O(nw)\)。
ARC122E Increasing LCMs
首先倒序考慮,每次挑一個會讓 lcm 變小的數扔掉。可以發現如果有解那麼這樣一定能構造出來。然後考慮如何判斷。由於 \((\operatorname{lcm},\gcd)\) 與 \((\max,\min)\) 類似,\(\gcd(x,\operatorname{lcm}(a_i))=\operatorname{lcm}(\gcd(x,a_i))\),所以按後者判就行了。
哦對,問號題不做。所以不放日誌了。
ARC123
ARC123D Inc, Dec, Decomposition
考慮先貪心地去構造一組解,即每次如果 \(a_i\) 增大那麼就增大 \(b\),否則減小 \(c\)。然後我們希望找到一個 \(x\),使得 \(b\) 加上 \(x\),\(c\) 減去 \(x\) 後,所得答案最小。容易發現每個數對 \(x\) 的貢獻的影響是一個絕對值一次函式。於是我們把所有拐點列出來,排個序找到中位數作為 \(x\) 即可。
ARC123E Training
令 \(a\) 大的作為 \(x\)(\(a\) 相同 \(b\) 大)考慮找到界 \(L,M,R\),使得 \([L,M]\) 中差為 \(1\) 或 \(0\),\([M+1,R]\) 中差為 \(0\) 或 \(-1\)。於是我們只需要求出若干區間的 \(a+\lfloor\frac{n}{b}\rfloor\) 的和即可。這個是容易的。但怎麼找界呢?
實際上。這種取整問題找界,直接把取整丟掉即可。取整丟掉後是完全單調的,所以可以直接二分。
ARC123F Insert Addition
首先需要考慮到這個形式很像 stern brocot tree。於是我們可以在 stern brocot tree 上二分,每次需要求出一個子樹內滿足 \(ax+by\le n\) 的節點個數,其中 \(a,b\) 為邊界。由於這題與 sbtree 的性質,子樹內應該包含所有 \(\gcd(x,y)=1\) 的 \((x,y)\)。於是我們莫反,整除分塊套一個類歐,可以 \(O(\sqrt n\log n)\) 求解一次。然後由於深度為 \(O(n)\),但發生方向變化(即之前一步往左,後一步往右)的次數與 gcd 同複雜度(\(O(\log n)\)),那麼我們就可以直接往一個方向倍增,找到往該方向能走的最長距離即可。找到第 \(l\) 個後,求 \(l,r\) 的只需要求一些子樹的中序遍歷即可。總複雜度 \(O(\sqrt n\log^3n+n)\)。
ARC124
ARC124D Yet Another Sorting Problem
首先觀察到如果一個置換環上有兩種顏色的那麼一定可以 \(len-1\) 步還原。於是我們剩下若干單色置換環。最優的貪心方案,應該是對於兩個不同色的置換環,將其合併,即可以用 \(len_1+len_2\) 同時合併兩個置換環。而對於無法匹配的剩下的,就只能 \(len+1\) 步還原了。
ARC124E Pancakes
我們先考慮令 \(c_i\) 表示 \(i\) 給 \(i+1\) 的球的數量,我們找到第一個 \(c_i=0\) 的位置,在這個位置斷環為鏈。考慮題目中要求的是 \(\prod (a_i-c_i+c_{i-1})\),考慮乘法的意義,即對於每個 \(i\),選 \((a_i-c_i)\) 或者 \(c_{i-1}\),然後把所有選擇都乘起來。考慮 DP:\(f_{i,0/1}\) 表示前 \(i\) 個數,第 \(i+1\) 個數是否選擇 \(c_{i}\)(如果選擇那麼就在 \(i\) 處把 \(i+1\) 的貢獻算上)。這個 DP 很容易,而且可以直接矩陣維護。於是我們維護字尾矩陣乘積以及字首矩陣乘積即可。
ARC124F Chance Meeting
考慮容斥。由於相同時間在相同位置的一些點一定處於某一行的一些列上。於是列舉這個點。拆一拆組合數可以發現處在哪一行沒有關係,只是會多乘上一個 \(P=\sum\binom{m-1}{i-1}^2\) 的係數而已。於是變成一個一維問題。令 \(f_i\) 表示長 \(i\) 的一維問題,並且欽定 \(i\) 是重合的點的容斥係數和。那麼答案就是 \(P \sum_i f_i f_{n+1-i}\)。有 DP:\(f_i=\binom{m+2i-3}{2i-2}\binom{2i-2}{i-1}+\sum_j -f_j\binom{2i}{i}\)。於是令前面那坨東西的生成函式為 \(G\),我們有 \(F=G(\sqrt{1-4z})\),於是有 \(F^2=(1-4z)G^2\)。由於我們只需要求 \([z^{n+1}]G^2\) 與 \([z^n]G^2\),所以總複雜度 \(O(n)\)。