泪光 | Tears
题目背景
「为什么哭呢?」
“因为自己的期许和现实相去甚远。”
「哭能改变什么呢?」
“什么都不能。正如同既成事实的过去一样。”
「那么为何不抹去泪水向前迈进呢?」
“… 我在等我的灵魂追上时间。”
> After night
>
> 长夜之后
>
> In boundless light
>
> 无垠光中
>
> He calls my name
>
> 他呼唤着我
>
> I do the same
>
> 我望向彼方,回应
题目描述
「不想回忆的事,就别再去想了吧。为了分散你的注意力,正好我有一道与人的感情相关的题目,你看看怎么样?」
“… 真是令人想吐槽呢。怎么,又是那个人在支配吗?”
「什么嘛,令人不快… 你以前对这种事不是有很大的热情吗?」
“… 说不准。”
「咳咳… 那么听好了。现在共有 $n$ 个人,每个人都有一个情绪值:用 **实数** $v_i$ 表示。现在由于一些特殊的变化,使得这些人的情感发生了纠缠…」
“嗯哼?”
「第一种纠缠有四个参数 $a,b,c,d$,表示:现在已知存在无穷个 $f:\R\rightarrow\R$,使得 $\frac{f(v_a)}{f(v_b)}=\frac{v_c}{v_d}$。」
“等等等等一下!这数学公式是怎么说出来的啊?!还有什么 $f:\R\rightarrow\R$ 是什么意思啊!”
「你瞧,你不也说出来了吗?」
“… 可恶,果然是你吗,那个人…”
「简单来说,$f:\R\rightarrow\R$ 就是代表一个定义域和值域都是实数的函数。如果这都不能理解的话,我要开始怀疑你作为高中生的身份了哦…」
“好吧… 继续吧。”
「第二种纠缠有两个参数 $a,b$,表示:现在已知存在有穷个 $f:\R\rightarrow\R$,使得 $f(v_a)\ne f(v_b)$。」
“什么叫‘有穷个’?”
「就是有一个确切的数目啦… 只要有一个自然数 $k$ 能表示这样函数的数目,那么就叫‘存在有穷个函数’哦?」
“嗯…”
「接下来,在纠缠不断增加的过程中,你也需要回答一些问题。第一种是,给出 $a,b$,你需要判断 $v_a$ 是否总是等于 $v_b$;第二种是,给出 $a$,你需要计算有多少个 $b$($1\le b\le n$,$b$ 可以等于 $a$)使得 $v_a=v_b$ 恒成立。」
“… 题目我明白了,但是这跟人的情感有什么关系吗?”
「哈哈… 就是想逗你开心嘛,别那么严肃。」
“… 无聊。”
### 简要题意
有 $n$ 个 **正实数** 变量 $v_1,\dots,v_n$。你需要根据当前已知的条件作出判断。每次给出两种条件之一:
- 给出常数 $a,b,c,d$:表示现在已知存在无穷个 $f:\R\rightarrow\R$,使得 $\frac{f(v_a)}{f(v_b)}=\frac{v_c}{v_d}$。
- 给出常数 $a,b$:表示现在已知存在有穷个 $f:\R\rightarrow\R$,使得 $f(v_a)\ne f(v_b)$。
或者两种询问之一:
- 给出常数 $a,b$:询问 $v_a=v_b$ 是否恒成立。
- 给出常数 $a$:询问有多少个 $b$($1\le b\le n$,$b$ 可以等于 $a$)使得 $v_a=v_b$ 恒成立。
输入输出格式
输入格式
第一行两个正整数 $n,m$,分别表示变量的数量和操作的次数。
接下来 $m$ 行,每行表示一次操作,有四种可能:
- `1 a b c d`:表示现在已知存在无穷个 $f:\R\rightarrow\R$,使得 $\frac{f(v_a)}{f(v_b)}=\frac{v_c}{v_d}$。
- `2 a b`:表示现在已知存在有穷个 $f:\R\rightarrow\R$,使得 $f(v_a)\ne f(v_b)$。
- `3 a b`:询问 $v_a=v_b$ 是否恒成立。
- `4 a`:询问有多少个 $b$($1\le b\le n$,$b$ 可以等于 $a$)使得 $v_a=v_b$ 恒成立。
输出格式
对于每次操作三,输出一行字符串 `entangled` 表示 $v_a=v_b$ 恒成立;反之输出一行字符串 `separate`。
对于每次操作四,输出一行一个整数表示符合条件的 $b$ 的数目。
输入输出样例
输入样例 #1
2 2
2 1 2
3 1 2
输出样例 #1
entangled
输入样例 #2
5 7
1 1 2 3 4
3 1 2
2 1 2
3 1 2
3 3 4
4 1
4 2
输出样例 #2
separate
entangled
entangled
2
2
输入样例 #3
7 6
1 1 2 3 4
1 3 5 6 7
2 4 5
3 6 7
2 1 2
3 6 7
输出样例 #3
separate
entangled
说明
对于全部数据,有 $1\le n,m\le 6\times 10^5$。保证操作一中 $a\ne b,c\ne d$,操作二中 $a\ne b$,操作三中 $a\ne b$。
Subtask 1(5 pts):保证不出现操作一和操作二。
Subtask 2(10 pts):保证不出现操作一。
Subtask 3(35 pts):保证 $n\le 5000$。
Subtask 4(50 pts):无特殊限制。