2025.10.15模擬賽
賽時
看T1,然后一看就是一個模擬題,然后意義不明的發(fā)了一會呆后,切掉了
然后睡了30min。。。
看T2,然后想到了CDQ分治,但是想不到CDQ分治的細(xì)節(jié),所以直接放棄了
然后我想值域上進(jìn)行優(yōu)化,然后枚舉a,b,c的,然后想一想優(yōu)化了c這一維,75pts
看T3,然后還剩1h,然后鏈上快速碼了一個分治做法,線段樹維護(hù)最大值即可,56pts
想到樹上做也是相似的,但是沒想到怎么計算那種子樹和子樹之間拆分出的散塊,遂放棄
其實直接用dfn序維護(hù),然后跑完后把線段樹上賦為0即可,感覺在想一想可以想到的
T4,還剩30min,讀完題后發(fā)現(xiàn),42分很好拿,直接兩個求lca即可
策略還可以,再多一點時間,T3可能能拿正解
賽后
T2lmy做法:
a排序,然后b,c上二維平面,發(fā)現(xiàn)一對可以產(chǎn)生貢獻(xiàn)的點對,就是b最大的和c最大的組合起來的矩形即可,然后若兩個b和c都是最大的點應(yīng)當(dāng)怎么辦,把它放到一個set里維護(hù),然后若新加入一個點能夠成點對點就拿出來
T2zqm做法:
分別按a,b,c排序,然后若a和b和c所對應(yīng)的最大值都不一樣,就直接是答案,否則就彈出那個兩個相同的值
發(fā)現(xiàn)其實把lmy做法反著來做,就和zqm做法一樣了
T2htc做法:
CDQ分治,無腦做,a排序,b分治,c只要查是否有兩個數(shù)>它就行了
T3并查集做法:
考慮我們無非就是想用最大的點分治這棵樹,考慮從小到大枚舉點,比當(dāng)前點大的點都是分治中心,所以直接dp轉(zhuǎn)移,然后并查集維護(hù)即可
T4sgz做法:
k=0時
考慮到枚舉一棵樹的祖先關(guān)系,維護(hù)在第一顆樹上的祖先關(guān)系的點在另一棵樹上的非祖先關(guān)系
非祖先關(guān)系考慮用dfn序,記錄進(jìn)入的dfn序和出去的dfn序,非包含關(guān)系即可,用樹狀數(shù)組維護(hù)
考慮k不等于0的情況,維護(hù)k級祖先就轉(zhuǎn)化成了k=0情況
T4htc做法:
考慮枚舉一顆樹的lca解決k級組先問題,就是考慮比lca要深k級的所有點的互相之間的貢獻(xiàn),然后用dfn序維護(hù)在第一顆樹上能否有祖先關(guān)系
考慮怎么考慮互相之間的貢獻(xiàn),用啟發(fā)式合并,在樹狀樹組上查詢即可

浙公網(wǎng)安備 33010602011771號