BZOJ3914 Jabby's shadows

Luogu
IDLGP10776
Time1500ms
Memory512MB
DifficultyP7
动态树 LCT
给出一棵 $n$ 个点的无根树,树有边权,每个点有两种颜色,最初所有点均为黑色。黑色为 1,白色为 2。每条边有正的权值。 需要维护 $m$ 次操作: - `1 u`:询问 $u$ 所在树上同色连通块的直径。若为 0,则输出 QwQ。 - `2 u v c`:将 $u \sim v$ 的链覆盖为颜色 $c$。 ## Input 第一行一个正整数 $n$,表示树的结点个数。 第二行 $n-1$ 个正整数 $f_i$,表示结点 $2\sim n$ 的父结点。 第三行 $n-1$ 个正整数 $e_i$,表示 $2\sim n$ 号结点到父结点的边的边权。 第四行一个正整数 $m$,表示操作数。接下来 $m$ 行依次表示操作。 ## Output 对于每个 $1$ 操作输出一行作为答案。 [samples] ## Note 数据保证,$1\leq n,m\leq 100000$,$1\leq e_i\leq 10000$。
Samples
Input #1
5
1 2 3 3
2 2 4 3
5
1 3
1 1
2 4 4 2
2 3 1 1
1 2
Output #1
8
8
7
API Response (JSON)
{
  "problem": {
    "name": "BZOJ3914 Jabby's shadows",
    "description": {
      "content": "给出一棵 $n$ 个点的无根树,树有边权,每个点有两种颜色,最初所有点均为黑色。黑色为 1,白色为 2。每条边有正的权值。 需要维护 $m$ 次操作: - `1 u`:询问 $u$ 所在树上同色连通块的直径。若为 0,则输出 QwQ。 - `2 u v c`:将 $u \\sim v$ 的链覆盖为颜色 $c$。",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1500,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P7"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP10776"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "给出一棵 $n$ 个点的无根树,树有边权,每个点有两种颜色,最初所有点均为黑色。黑色为 1,白色为 2。每条边有正的权值。\n\n需要维护 $m$ 次操作:\n- `1 u`:询问 $u$ 所在树上同色连通块的直径。若为 0,则输出 QwQ。\n- `2 u v c`:将 $u \\sim v$ 的链覆盖为颜色 $c$。\n\n## Input\n\n第一行一个正整数 $n$,表示树的结点个数。\n\n第二行 $n-1...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments