mod \bmodmod 完再减可能会有 负数,需要加上模数再取模。
可能的代码:
错误的: ans = (sum[u][k] + sum[v][k]) % MOD - (sum[LCA][k] + sum[pa[LCA]][k]) % MOD;
ans = (sum[u][k] + sum[v][k]) % MOD - (sum[LCA][k] + sum[pa[LCA]][k]) % MOD;
正确的: ans = ((sum[u][k] + sum[v][k]) % MOD - (sum[LCA][k] + sum[pa[LCA]][k]) % MOD + MOD) % MOD;
ans = ((sum[u][k] + sum[v][k]) % MOD - (sum[LCA][k] + sum[pa[LCA]][k]) % MOD + MOD) % MOD;