敗犬專場...
T1 莓良心
我打扮成你喜歡的樣子來看你了,廣,不,\(da,darling...\)
若 \(u,v\) 被分在同一組,則對答案有 \(w_{u}+w_{v}\) 的貢獻,於是:
直接算 \(O(n^{2})\) ,事實上只需要兩個,所以可以用容斥來算:
快速冪爆算 \(O(n\log{n})\) ,線性篩可做到 \(O(n)\) 。
T2 盡梨了
我成為你心中的第一位了嗎?
首先通過臨項干擾來確定選擇的先后順序,在時刻 \(t\) ,如果先去 \(i\) 比先去 \(j\) 更優,那么則需滿足 \(a_{j}\times(b_{i}+1)<a_{i}\times{b_{j}+1}\) 。列個式子寫一下就能發現
按此排序后,就有個 \(O(n^{2})\) 的dp,設\(dp_{i,j}\) 表示從前 \(i\) 個中選了 \(j\) 個的最小時間,根據是否選第 \(i\) 個轉移即可。
直接做是 \(O(n^{2})\) 時間空間上都無法接受,如果沒有 \(a_{i}=0\) 的,那么時間增長是呈指數級的,所以最多去 \(\log T\) 個商店,於是第二維開到 \(\log{T}\) 即可。
如果有 \(a_{i}=0\) ,其一定排在序列末尾,先對 \(a_{i}\neq0\) 的做遍dp,剩下的按 \(b\) 排序,貪心選即可。
事實上第二維開到200即可通過此題
T3 團不過
眼淚沒能流出來。因為已經哭過很多次了。
正難則反,設 \(f_{i}\) 表示 \(i\) 堆石子時先手必敗的方案數, \(g_{i}\) 表示 \(i\) 堆石子合法的方案數,\(m=2^{n}-1\) 。那么最后答案即為 \(g_{n}-f{n}\) 。
則 \(g_{i}=m^{\underline{i}}\) ,第一堆有 \(m\) 個選擇,第二堆則有 \(m-1\) 個選擇,以此類推,就是下降冪的形式。
由 \(i-1\) 轉移到 \(i\) ,有一下幾種情況:
-
前 \(i-1\) 堆任意選,通過調整第 \(i\) 堆使得異或和為0(一定存在),那方案數即為 \(g_{i-1}\) 。
-
若前 \(i-1\) 堆異或和為0,若要先手必敗,則需要異或和為0,但第 \(i\) 堆不能為0,所以不合法,應減去,方案數即為 \(f_{i-1}\) 。
-
若前 \(i-1\) 堆中有 \(i-2\) 堆異或和為0,如果要先手必敗,則只能讓第 \(i\) 堆跟前 \(i-1\) 堆中剩下的那一堆相等,不合法,應減去。剩下的那一堆有 \(i-1\) 個位置可選,有\(m-(i-2)\) 種取值(要保證前 \(i-1\) 堆是合法的,才能判斷是否先手必敗),前 \(i-2\) 堆先手必敗的方案數為 \(f_{i-2}\) ,那么此類總方案數即為 \((i-1)\times(m-(i-2))\times f_{i-2}\) 。
所以: \(f_{i}=g_{i-1}-f_{i-1}-(i-1)\times(m-(i-2))\times f_{i-2}\) ,直接遞推即可。
T4 七負我
既然真白你說不要的話,神田君就歸我了哦。
這部還沒看過呢
結論題。
考場多模樣例,多推性質。
100pts的話用meet in the middle 或 Born-Kerbosch找即可。