给定一颗节点编号为1~n的,且以1为根的树,给出n组询问,每次询问给定一个数对(x,y),求. 对于这n组询问的答案,不需要依次输出n个数,你只需要输出他们的和对998244353的取模即可。 树的信息以及询问不会直接给出,输入数据只包含随机种子,具体生成方式请仔细阅读备注内容。
备注:
输入数据包含5个整数,n,seed1,seed2,seed3,x.树的信息生成伪代码如下1定义边集数组u[],v[] u[i],v[i]表示第i条边的两个端点定义变量seed4定义循环变量i从1到n-1循环体开始 seed4=(seed1+seed2)%998244353*seed3%998244353; u[i]=i+1; v[i]=(seed4%i)+1; seed3=seed2; seed2=seed1; seed1=seed4;循环体结束1询问信息生成伪代码如下,顺带一提,第一次询问的x会在输入中给出2定义变量lastans,初始值为0 定义变量ret,初始值为0定义变量y,初始值为0 含义见题干定义函数ans(x,y),返回值为对数对(x,y)这组询问的答案 这里“询问”的含义见题干定义变量z定义循环变量i从1到n循环体开始 z=ans(x,y); ret=(ret+z)%998244353; lastans=z; x=((x+lastans)^ret)%n+1; y=lastans;循环体结束2输出一个整数,表示答案。n保证构造出的数据合法。
加载中...