SP12803 GRAPH2 - Graph

题目描述

给定一个无向图,包含 **n** 个节点和 **m** 条带权边。每个节点都有一种颜色:黑色(用 0 表示)或白色(用 1 表示)。你需要执行 **q** 次操作,每种操作分为以下两种: 1. **C** x:切换第 _x_ 个节点的颜色。如果当前是黑色就变为白色,若当前是白色则变为黑色。 2. **Q** A B:计算所有两端分别为颜色 A 和 B 的边的权值总和。A 和 B 可以为 0 或 1。

输入格式

第一行输入两个整数 **n** (1 ≤ $n$ ≤ 10^5) 和 **m** (1 ≤ $m$ ≤ 10^5),表示节点数和边数。 第二行给出 **n** 个整数,第 _i_ 个整数描述第 _i_ 个节点的颜色,0 代表黑色,1 代表白色。 接下来的 **m** 行描述边的情况。每行包含三个整数 u, v 和 w (1 ≤ $u, v$ ≤ $n$, $u \neq v$),表示在节点 u 和节点 v 之间有一条权值为 w 的边。此处 w 是32位有符号整数。 接下来输入一个整数 **q** (1 ≤ $q$ ≤ 10^5),表示操作的总次数。 接下来的 **q** 行是要执行的具体操作,格式在上面已描述。

输出格式

对于每个 **Q** 类型的查询,输出一行结果,表示符合条件的边权之和。 **本翻译由 AI 自动生成**