牛牛找三元组
观察到该式子是个轮换对称 (cyc) 的式子,考虑 在质因子
下的指数分别为
,不妨设
,计算可知分子分母的指数恰好相等。因此,该式子是个恒等式。
对于 ,输出
;
对于 ,输出任何一个合法三元组均可。
时间复杂度: 。
牛牛研究大图
注意到这个边权涉及到 ,因此从
跳到
,我们一定尽可能从
跳到
,这样显然不会比从
跳到
劣。
边权最大也只有 ,下取整得
,而在
范围内,从
出发,走
能到达的数打表发现只有
个点,故预处理跑 spfa 求出所有可达的位置的距离即可。
查询只需要找到第一个 的位置,从这个位置可以走
边权到达
。
fib 树上博弈
问题可以看作每次删一条边 ,保留根节点所在的连通块,删不了边的一方输。
我们先用 Grundy Number 判断当前局面的胜负。定义 为以节点
为根的子树的 Grundy Number。如果
是
,后者胜;否则,前者胜。
考虑如何计算 。假设
有若干个儿子
,注意
与
之间的这条边,定义
为以节点
为根(含
的父边)的子树的 Grundy Number,我断言
。
证明 考虑第二数学归纳法,按
的子树大小归纳:
- 若删除
的父边,Grundy Number 显然是
;
- 若删除其余边,由归纳知 Grundy Number 为
;
因此
。
因此 。
这一部分是 AGC017 D. Game on Tree。
20 分
《看图说话》
40 分
枚举删除每个节点,然后对 暴力 dfs 博弈。期望得分 40 分。
70 分
注意到 的节点个数为
,其中
。
枚举删除每个节点,然后检验根的 Grundy Number 是否为 。
时间复杂度 ,其中
,期望得分 60 分。
100 分
现在我们寻找第一步所有的必胜点。记 表示
中有多少个点
满足:删除以
为根的子树后,
的根的 Grundy Number 为
。
转移是容易的:,其中
表示
的根的 Grundy Number。
显然删除必胜点后 的根的 Grundy Number 为
,因此答案为
。
时间复杂度 ,其中
实测
,期望得分 100 分。
沙漠之旅
10 分
枚举每个点对即可,时间复杂度 ,期望得分 10 分。
30 分
我们只考虑 矩阵,其余可以通过旋转
原矩阵算
矩阵得到。
记 表示从
向左第一个有水的地方,
同理。
那么对于 位置而言,它的答案只可能来自于
中
或
。暴力枚举即可。
时间复杂度 ,期望得分 30 分。
60 分
我们拆式子,
用李超线段树维护直线最值,时间复杂度 ,期望得分 60 分。
100 分
注意上面这个式子可以用斜率优化 dp 快速计算,时间复杂度 ,期望得分 100 分。
全部评论
(1) 回帖