D. Fish eating fruit
题意
将树上任意两点之间的距离按取模 $3$ 分类,分别求出三种情况的路径和
题解
解法1:
$dp1[u][j]$ 表示以 $u$ 为根节点的树,树上任意两点之间的距离取模 $3$ 为 $j$ 的路径和
$dp2[u][j]$ 表示以 $u$ 为根节点的树,树上的点到 $u$ 的距离取模 $3$ 为 $j$ 的路径和
$dp3[u][j]$ 表示以 $u$ 为根节点的树,树上的点到 $u$ 的距离取模 $3$ 为 $j$ 的节点数
解法2:
根据模 3 的余数设计 dp 方程
$dp[i][k]$ 统计距 i 模 3 为 k 的子节点的数目
$fp[i][k]$ 统计距 i 模 3 为 k 的非子节点的数目(父节点,兄弟节点,兄弟节点 的子节点)
$ans[i][k]$ 统计距 i 模 3 为 k 的子节点到 i 的距离和
$fans[i][k]$ 统计距 i 模 3 为 k 的非子节点距离和
代码
1 | ll dp1[N][3],dp2[N][3],dp3[N][3]; |
题意
题解
代码
1 |