小Z有一片森林,含有N个节点,每个节点上都有一个非负整数作为权值,初始的时候,森林中有M条边, 小Z希望执行T个操作,操作有两类: Q x y k查询点x到点y路径上所有的权值中,第k小的权值是多少,此操作保证点x和点y连通,同时这两个节点的路径上至少有k个点, L x y在点x和点y之间连接一条边,保证完成此操作后,仍然是一片森林, 为了体现程序的在线性,我
小Z有一片森林,含有N个节点,每个节点上都有一个非负整数作为权值。初始的时候,森林中有M条边。 小Z希望执行T个操作,操作有两类: Q x y k查询点x到点y路径上所有的权值中,第k小的权值是多少。此操作保证点x和点y连通,同时这两个节点的路径上至少有k个点。 L x y在点x和点y之间连接一条边。保证完成此操作后,仍然是一片森林。 为了体现程序的在线性,我们把输入数据进行了加密。设lastans为程序上一次输出的结果,初始的时候lastans为0。 对于一个输入的操作Q x y k,其真实操作为Q x^lastans y^lastans k^lastans。 对于一个输入的操作L x y,其真实操作为L x^lastans y^lastans。其中^运算符表示异或,等价于pascal中的xor运算符。 请写一个程序來帮助小Z完成这些操作。 对于所有的数据,n,m,T<= 8∗10^4.
(图片来源网络,侵删)