rank | solved | A | B | C | D | E | F | G | H | I | J | K | L |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
30 | 9 | O | O | . | . | Ø | Ø | O | O | O | O | . | O |
A
Solved by Henry.
B
Solved by Henry and XLor.
洗衣机贪心。
洗衣和晒干的过程独立。
一个过程就用优先队列来贪心。
G
Solved by XLor.
最小环。
枚举删边,跑最短路,注意细节优化即可。
E
UpSolved by XLor.
妙啊!
赛中冲的算法是线段覆盖,对目标题目询问未被覆盖次数,取 $\min$ 后加一。
显然非常的假,你不能保证剩余的线段一定能覆盖所有其他的点。
将线段端点和询问点,拆成事件做扫描线,对于相同端点的事件,先加入,再询问,最后删除。
对于询问,看能不能覆盖这个点,即有当前存在事件集合非空,答案是线段数减去集合大小,并要拿去一个线段,因为这个线段不能对其他询问产生贡献。这里需要贪心的想,右端点应该尽量靠前,这样才会减少对后面询问的影响。
H
Solved by Forsaken.
状压 $dp$ + 背包。
预处理每个人的可行状态,然后用 $dp[i][mask]$,表示用了前 $i$ 个状态为 mask 的个数,用记录的状态进行背包转移。
I
Solved by Henry.
预处理所有物品的价值 + 完全背包。
J
Solved by Henry.
L
Solved by Henry.