2025杭电多校6

1005钥匙迷宫

bfs
观察到钥匙和锁是单向边,合法连通块最多只有一个。想到了下面两个做法:

  1. 因为是单向边,所以就有上下级关系,而且必然最终是树或者森林。想到并查集直接维护,看最后是森林还是树,如果是树的话就有答案。
  2. 后来队友启发又想到,因为是单向边所以一条边可以删除一个子树,这样最后能删到只剩一个连通块,但因为这个条件必要不充分,所以还需要check这个连通块的合法性。
    但是check部分的bfs似乎会被卡到n方,于是不会做,然而事实上bfs可以做成复杂度O(n),因为一个我们需要去遍历一个锁,只有当前锁在当前点扩展边集内,或者是当前点是该锁的钥匙。这样每个点只访问一次,边访问不超过两次。上述两个做法都可以通过。

1007喵喵题

数学结论,暴力
必须先理解到选的1是一个区间的结论。(题解有证明)
发现有比较复杂的根号做法,就是枚举选的最后一个1的位置,暴力求次数。这样写起来细节很多。
然而可以直接枚举某个1是区间开始,然后暴力跳转。这样做复杂度最坏是调和级数的nlog级别,具体卡的方法就是间隔等距离的0放1,所以复杂度也不会超过\(n\ qsort(n)\)且好写

1010群体狂乱

大分类讨论

1012cats的加减乘除

分治NTT
学了再来补$ \frac{1}{2^{k-1}} \times (n-k-1) \times num $

posted @ 2025-08-05 10:56  lyrrr  阅读(22)  评论(0)    收藏  举报