D
题意
给你$n*m$的迷宫,$0$是可以走,$1$是不能走。
- 如果当前格子右边没有障碍物,牛妹就向右走,否则转到2。
- 如果当前格子下方没有障碍物,牛妹就向下走,否则转到3。
- 如果当前格子左边没有障碍物,牛妹就向左走,否则转到4。
- 如果当前格子上方没有障碍物,牛妹就向上走,否则转到5。
画个草图就知道牛妹只会向右和下走,其他走法都要返回原点,因为左上优先级低。
然后就是简单$dp$。
代码
1 |
|
E
题意
给一个序列$a$,$q$次询问$[l,r]$,区间内$max(x,a_i)$,
$a_i,x,n\leq10^5$
可以对于每个$x$,枚举他的因数$d$是否出现在这个区间。对于单个$d$,将它出现的位子保留下来。只需要判断二分找到$l\leq x_1$,$x_2\leq r$,是否存在$x2\geq x1$。
预处理所有的数的因数$n\log n$,询问为$q\log^2 n$
代码
1 |
|
F
题意
维护两个线段树,一个维护链上奇数点,一个维护链上偶数点。
然后发现$deep$的奇偶就是确定了点的奇偶性。
- $LCA\%2=1$,链上所有点之和
- $LCA\%2=0$,链上所有偶数点 ,如果链头是偶数点,那么输出维护奇数的线段树,反之。
代码
1 |
|
</details>