11 28模擬賽D題解

2022-06-03 09:36:05 字數 376 閱讀 1793

乙個奇妙的不等式操作:

\(a_x+a_y\geq (a_x xor a_y)=f_x-f_y\)

所以只有\(a_x+a_y\geq f_x-f_y\)的點才能貢獻答案。

這個東西的意義是\(a_x\geq 在\)x\(子樹且不包含\)x\(,\)y\(子樹的點\)。

考場上猜了符合這個條件的點對只有\(n\log_2\max a_i\),結果真的猜對了。

要證明這個需要證明兩個引理:

1.合法的候選\(y\)集可能在多個子樹中,但是一定在乙個子樹的鏈中。

假設有兩個點\(x,y\)不在一條直上/下的鏈上,則設他們的lca是\(lc\)。

顯然\(a_x\geq a_y+a_\)且\(a_y\geq a_x+a_\)

模擬賽 circle 題解

題意 有n個數,問有多少個x,x leq t 滿足這n個數分別 x後,異或和為s。每個數小於 2 m 數字dp。由於是加法,需要記錄進製,因此從低位到高位dp。只要記錄下有幾個進製,就可以根據這n的數的大小知道究竟是哪幾個進製了。設 dp i,j,0 1 表示考慮到第i位,有j個進製,與t的大小關係...

模擬賽2 題解

這次模擬賽最後一道是提答題,就不寫題解了。orz這題 emmm,我無話可說。小範圍記憶化,大範圍遞迴求解 複雜度 o k sqrt 記 f i,j 表示前 j 個數中不被 a i,a dots,a n 整除的個數,答案即為 f 1,n 狀態轉移方程為 f i,j f i 1,j f i 1,j a ...

2020 10 08 模擬賽 題解

期望100 實際100 老師說是結論題。其實可以直接打表,t i 表示0 63中有t i 對數與起來等於i,然後乘法原理即可。沒什麼難度。include include using namespace std const int maxn 100005 const int mod 1e9 7 cha...