牛客练习赛131题解
A 小H学语文
将木板长度降序排序,遍历枚举 计算即可。
时间复杂度:
B 小H学数学
记 为前
个人凑成数字
的方案数,枚举每个人可能表示的数然后线性DP即可。
时间复杂度:
C 小H学生物
记 为从根节点到
节点路径上的变异信息异或和,由与异或运算的性质可知
得到的结果就是节点
到节点
简单路径上的变异信息异或和,因为根节点到
节点上的变异信息异或两次抵消了。先进行一遍DFS计算出
。
由异或的性质,有任意的 , 同时
,
根据奇偶分类讨论观察规律,故结果可表示为:
时间复杂度:
D 小H学物理
可以发现发射的 会修改设备上
位置上的能量,当且仅当
。
因此考虑将模 的剩余类构建
个新的数组。每次区间修改,则在其中一个数组上进行区间修改;区间查询,则遍历所有数组计算对应的区间查询累加即可。
问题中区间修改为区间加上一等差数列,等差数列做一次差分可以发现是一个全 1 数列,因此可以考虑使用三阶差分-前缀和解决该问题。
考虑原数组为 ,三阶前缀和分别为
。
在数组 区间
上增加一个首项为1,公差为1的等差数列等价于修改:
题目中是在区间 上增加递减等差数列,只需要将
在查询和修改时都对称翻转即可。
考虑三阶前缀和计算:
因此对每个数组都维护三个树状数组即可。
时间复杂度:
E 小H学历史
之间的边直接断开,因此树上只剩下
和
之间的边。因此每一个
连通块都是独立的,如果该连通块连接的只有
,或只有
,那么将完全被
或
占领,因此只需要考虑连通块的端点上既有
也有
的情况。
由于每个端点都是 或
, 记此时
节点的数量为
,那么
节点的分配情况取值为连续的
。
证明:考虑 将所有
节点占领。然后从某个
节点开始扩张,如果遇到分叉节点
,可能存在多个分支,而分支端点只有两种情况
或
。如果某分支的端点是
节点,则逐步占领到端点即可;如果某分支端点是
节点从分支端点
向分叉节点逐步占领即可,这样避免
端点分支无法走到情况,因此可以分配到连续的所有情况。
因此,DFS遍历所有 连通块,如果相连只有
或
,则纳入两国城池总数
中。如果相连既有
也有
,则纳入无主城池总数
中。
记 ,若
,则答案为
。
否则,答案应为
。
因为若 为奇数,对
只能贡献小于等于
的奇数值,反之亦然。
时间复杂度:
F 小H学地理
记 表示从起点走到
次数的期望和次数平方的期望,显然
,为常量因此以下分析不考虑点
。
考虑走到每个点
的次数应该是领域
的所有点走到点
的次数之后,
因此有,
其中 ,由于起点首先就访问一次,因此加 1。
构建次数期望矩阵
,其中
为从
点出发到
点的期望次数。概率矩阵
,其中
为从
点走向
点的概率。因此有:
.
考虑平方的期望有公式如下:
故有,
。
构建次数平方期望矩阵 ,因此有:
.
然后采用高斯消元进行线性变换或求解期望矩阵逆元即可。
计算出 个点的期望次数和平方期望次数,然后和
个
对使用
算法进行二分图最大权完美匹配即可。
时间复杂度: