题目 20354

Equation

查看题解 ↗GitHub ↗如何评测
题号
20354
标签
比赛NOIP
来源
2018 国庆雅礼集训 10-6

Equation

equation.cpp/in/out

  • 时间限制:1.5s
  • 空间限制:512MB

题目描述

有一棵 nn 个点的以 1 为根的树,以及 nn 个整数变量 xix_i。树上 ii 的父亲是 fif_i,每条边 (i,fi)(i, f_i) 有一个权值 wiw_i,表示一个方程 xi+xfi=wix_i + x_{f_i} = w_i,这 n−1n-1 个方程构成了一个方程组。

现在给出 qq 个操作,有两种类型:

  • 1 u v s,表示询问加上 xu+xv=sx_u + x_v = s 这个方程后,整个方程组的解的情况。具体来说,如果方程有唯一解,输出此时 x1x_1 的值;如果有无限多个解,输出 inf;如果无解,输出 none。注意每个询问是独立的。
  • 2 u w,表示将 wuw_u 修改为 ww。

输入格式

从文件 equation.in 中读入数据。

第一行两个整数 n,qn, q。

接下来 n−1n-1 行,第 ii 行有两个整数 fi+1f_{i+1} 和 wi+1w_{i+1}。

接下来 qq 行,每行表示一个操作,格式见问题描述。

输出格式

输出到文件 equation.out 中。

对于每个询问输出一行表示答案。

样例输入

文本
2 7
1 4
1 1 2 5
1 1 2 4
1 1 1 3
1 2 2 6
2 2 3
1 2 2 10
1 2 2 -10

样例输出

文本
none
inf
none
1
-2
8

数据范围

对于所有数据,有 1≤n,q≤1061 \le n, q \le 10^6,1≤fi≤i−11 \le f_i \le i-1,1≤u,v≤n1 \le u, v \le n,−103≤w,wi≤103-10^3 \le w, w_i \le 10^3,−109≤s≤109-10^9 \le s \le 10^9。

  • Subtask 1 (3%):n≤10n \le 10,q=0q = 0。
  • Subtask 2 (18%):n=2n = 2。
  • Subtask 3 (32%):n,q≤103n, q \le 10^3。
  • Subtask 4 (33%):n,q≤105n, q \le 10^5。
  • Subtask 5 (14%):没有特殊的约束。

数据下载

题目 20354 的公开数据

正在读取文件列表…

常用命令

题目 20354 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。