6.24
晚测
垃圾。指比赛和我。
但是我更垃圾。
以为只有自己一个 sb AK 不了。
T1
修改中……
要是我知道有单调性大概就做出来了。
lhy 太厉害啦!!!!!因为前面的中位数已经使得答案最小了,再加入一个数无论中位数如何变化都不会使得之前的序列答案更小,单调性得证。
确定左端点,二分第一个大于等于的右端点。
求 \(\sum |a_i-x|\),其中 \(x\) 为 \([l,r]\) 中的中位数。使用主席树即可。
时刻注意区间 \(l>r\) 的特判。
T2
这个结论……之前做题的时候见过。
但是原题找不到了……
答案为 \(\max(\lfloor \frac{S}{m}, \texttt{maxn} \rfloor)\)。
T3
想到确定最大值,接下来次大值显然就是你丹钓战前面踢出去的那一个了。
果然 1 年前不会做就是因为不熟悉丹钓战。
6.25
NOIP2023 T2
为什么之前要照着别人代码打,csndm。
u1s1,再打一遍感觉好了很多,虽然 tm 花了一个小时……
带权并查集
find
函数:dis 维护到根节点的距离,写法是先调用 find 找到 fa,再更新 dis[x]。
update
:\(x,y,dx,dy\)。想法:改后 \(dis[x]=dis[y]+z\),按照这个去改 \(dx\) 即可。
True Liars
垃圾 POJ 出的 垃圾题。
把思路过一遍,不想调代码。
调了代码,深深地认识到 poj 有duosb……
正经:用并查集维护很多个块的信息,然后背包。