{"trustable":true,"prependHtml":"\u003cstyle type\u003d\"text/css\"\u003e\n section pre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n word-break: break-all;\n word-wrap: break-word;\n color: #333;\n background: rgba(255, 255, 255, 0.5);\n border: 1px solid #ccc;\n border-radius: 6px;\n }\n\u003c/style\u003e\n\u003cscript\u003e\n window.katexOptions \u003d {\n delimiters: [\n {left: \u0027\\\\(\u0027, right: \u0027\\\\)\u0027, display: false},\n {left: \u0027\\\\[\u0027, right: \u0027\\\\]\u0027, display: true}\n ]\n };\n\u003c/script\u003e\n","sections":[{"title":"题目描述","value":{"format":"HTML","content":"\u003csection\u003e\r\n\u003cp\u003e\u003cstrong\u003e注意特殊的输入格式和较小的内存限制。\u003c/strong\u003e\u003c/p\u003e\r\n\u003cp\u003e有一个无向图,初始时没有边,有\u003cvar\u003e\\(1, 2, \\dots, N\\)\u003c/var\u003e个顶点。\u003cbr\u003e\n需要在该图上处理以下\u003cvar\u003e\\(Q\\)\u003c/var\u003e个查询:\u003c/p\u003e\r\n\u003cp\u003e\u003cbr\u003e\u003c/p\u003e\r\n\u003cpre\u003e1 \u003cvar\u003e\\(u\\)\u003c/var\u003e \u003cvar\u003e\\(v\\)\u003c/var\u003e\r\n\u003c/pre\u003e\r\n\u003cp\u003e类型\u003cvar\u003e\\(1\\)\u003c/var\u003e:在顶点\u003cvar\u003e\\(u\\)\u003c/var\u003e和\u003cvar\u003e\\(v\\)\u003c/var\u003e之间添加一条边。\u003cbr\u003e\n在添加边之前,\u003cvar\u003e\\(u\\)\u003c/var\u003e和\u003cvar\u003e\\(v\\)\u003c/var\u003e属于不同的连通分量(即图始终保持为森林)。\u003c/p\u003e\r\n\u003cp\u003e\u003cbr\u003e\u003c/p\u003e\r\n\u003cpre\u003e2 \u003cvar\u003e\\(u\\)\u003c/var\u003e \u003cvar\u003e\\(v\\)\u003c/var\u003e\r\n\u003c/pre\u003e\r\n\u003cp\u003e类型\u003cvar\u003e\\(2\\)\u003c/var\u003e:如果有一个顶点同时与\u003cvar\u003e\\(u\\)\u003c/var\u003e和\u003cvar\u003e\\(v\\)\u003c/var\u003e相邻,则报告该顶点编号;否则报告\u003cvar\u003e\\(0\\)\u003c/var\u003e。\u003cbr\u003e\n给定图始终保持为森林,对该查询的答案是唯一确定的。\u003c/p\u003e\r\n\u003cp\u003e\u003cbr\u003e\u003c/p\u003e\r\n\u003cp\u003e查询以加密形式给出。\u003cbr\u003e\n原始查询由三个整数\u003cvar\u003e\\(A, B, C\\)\u003c/var\u003e定义,加密查询由三个整数\u003cvar\u003e\\(a, b, c\\)\u003c/var\u003e给出。\u003cbr\u003e\n设\u003cvar\u003e\\(X_k\\)\u003c/var\u003e为第\u003cvar\u003e\\(k\\)\u003c/var\u003e个类型为\u003cvar\u003e\\(2\\)\u003c/var\u003e的查询的答案。为\u003cvar\u003e\\(k \u003d 0\\)\u003c/var\u003e定义\u003cvar\u003e\\(X_k \u003d 0\\)\u003c/var\u003e。\u003cbr\u003e\n根据给定的\u003cvar\u003e\\(a, b, c\\)\u003c/var\u003e从中恢复\u003cvar\u003e\\(A, B, C\\)\u003c/var\u003e如下:\u003c/p\u003e\r\n\u003cul\u003e\r\n\u003cli\u003e设在此查询之前(不包括查询本身)给出的类型为\u003cvar\u003e\\(2\\)\u003c/var\u003e的查询数量为\u003cvar\u003e\\(l\\)\u003c/var\u003e。然后使用以下内容:\u003cul\u003e\r\n\u003cli\u003e\u003cvar\u003e\\(A \u003d 1 + (((a \\times (1+X_l)) \\mod 998244353) \\mod 2)\\)\u003c/var\u003e\u003c/li\u003e\r\n\u003cli\u003e\u003cvar\u003e\\(B \u003d 1 + (((b \\times (1+X_l)) \\mod 998244353) \\mod N)\\)\u003c/var\u003e\u003c/li\u003e\r\n\u003cli\u003e\u003cvar\u003e\\(C \u003d 1 + (((c \\times (1+X_l)) \\mod 998244353) \\mod N)\\)\u003c/var\u003e\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\u003c/section\u003e"}},{"title":"约束条件","value":{"format":"HTML","content":"\u003csection\u003e\r\n\u003cul\u003e\r\n\u003cli\u003e所有输入值均为整数。\u003c/li\u003e\r\n\u003cli\u003e\u003cvar\u003e\\(2 \\le N \\le 10^5\\)\u003c/var\u003e\u003c/li\u003e\r\n\u003cli\u003e\u003cvar\u003e\\(1 \\le Q \\le 10^5\\)\u003c/var\u003e\u003c/li\u003e\r\n\u003cli\u003e\u003cvar\u003e\\(1 \\le u \u0026lt; v \\le N\\)\u003c/var\u003e\u003c/li\u003e\r\n\u003cli\u003e\u003cvar\u003e\\(0 \\le a,b,c \u0026lt; 998244353\\)\u003c/var\u003e\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\u003c/section\u003e"}},{"title":"输入","value":{"format":"HTML","content":"\u003csection\u003e\r\n\u003cp\u003e输入以以下格式从标准输入给出:\u003c/p\u003e\r\n\u003cpre\u003e\u003cvar\u003e\\(N\\)\u003c/var\u003e \u003cvar\u003e\\(Q\\)\u003c/var\u003e\r\n\u003cvar\u003e\\(\\rm{Query}\\)\u003c/var\u003e\u003cvar\u003e\\(_1\\)\u003c/var\u003e\r\n\u003cvar\u003e\\(\\rm{Query}\\)\u003c/var\u003e\u003cvar\u003e\\(_2\\)\u003c/var\u003e\r\n\u003cvar\u003e\\(\\vdots\\)\u003c/var\u003e\r\n\u003cvar\u003e\\(\\rm{Query}\\)\u003c/var\u003e\u003cvar\u003e\\(_Q\\)\u003c/var\u003e\r\n\u003c/pre\u003e\r\n\u003c/section\u003e"}},{"title":"输出","value":{"format":"HTML","content":"\u003csection\u003e\r\n\u003cp\u003e设\u003cvar\u003e\\(k\\)\u003c/var\u003e为类型为\u003cvar\u003e\\(2\\)\u003c/var\u003e的查询数量。打印\u003cvar\u003e\\(k\\)\u003c/var\u003e行。\u003cbr\u003e\n第\u003cvar\u003e\\(i\\)\u003c/var\u003e行应包含第\u003cvar\u003e\\(i\\)\u003c/var\u003e个类型为\u003cvar\u003e\\(2\\)\u003c/var\u003e的查询的答案。\u003c/p\u003e\r\n\u003c/section\u003e"}},{"title":"示例1","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e6 12\r\n143209915 123840720 97293110\r\n89822758 207184717 689046893\r\n67757230 270920641 26993265\r\n952858464 221010240 871605818\r\n730183361 147726243 445163345\r\n963432357 295317852 195433903\r\n120904472 106195318 615645575\r\n817920568 27584394 770578609\r\n38727673 250957656 506822697\r\n139174867 566158852 412971999\r\n205467538 606353836 855642999\r\n159292205 319166257 51234344\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e0\r\n2\r\n0\r\n2\r\n6\r\n0\r\n1\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\r\n\u003csection\u003e\r\n\r\n\u003c/section\u003e\r\n\r\n\u003csection\u003e\r\n\r\n\u003cp\u003e解密所有查询后,输入如下:\u003c/p\u003e\r\n\u003cpre\u003e6 12\r\n2 1 3\r\n1 2 6\r\n1 2 4\r\n1 1 3\r\n2 4 6\r\n2 1 4\r\n1 5 6\r\n1 1 2\r\n2 1 4\r\n2 2 5\r\n2 3 4\r\n2 2 3\r\n\u003c/pre\u003e\r\n\u003cp\u003e此输入有\u003cvar\u003e\\(6\\)\u003c/var\u003e个顶点的图和\u003cvar\u003e\\(12\\)\u003c/var\u003e个查询。\u003c/p\u003e\r\n\u003cul\u003e\r\n\u003cli\u003e第一个查询是\u003ccode\u003e2 1 3\u003c/code\u003e。\u003cul\u003e\r\n\u003cli\u003e没有顶点同时与顶点\u003cvar\u003e\\(1\\)\u003c/var\u003e和\u003cvar\u003e\\(3\\)\u003c/var\u003e相邻,因此报告\u003cvar\u003e\\(0\\)\u003c/var\u003e。\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\u003c/li\u003e\r\n\u003cli\u003e第二个查询是\u003ccode\u003e1 2 6\u003c/code\u003e。\u003cul\u003e\r\n\u003cli\u003e在顶点\u003cvar\u003e\\(2\\)\u003c/var\u003e和\u003cvar\u003e\\(6\\)\u003c/var\u003e之间添加一条边。\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\u003c/li\u003e\r\n\u003cli\u003e第三个查询是\u003ccode\u003e1 2 4\u003c/code\u003e。\u003cul\u003e\r\n\u003cli\u003e在顶点\u003cvar\u003e\\(2\\)\u003c/var\u003e和\u003cvar\u003e\\(4\\)\u003c/var\u003e之间添加一条边。\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\u003c/li\u003e\r\n\u003cli\u003e第四个查询是\u003ccode\u003e1 1 3\u003c/code\u003e。\u003cul\u003e\r\n\u003cli\u003e在顶点\u003cvar\u003e\\(1\\)\u003c/var\u003e和\u003cvar\u003e\\(3\\)\u003c/var\u003e之间添加一条边。\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\u003c/li\u003e\r\n\u003cli\u003e第五个查询是\u003ccode\u003e2 4 6\u003c/code\u003e。\u003cul\u003e\r\n\u003cli\u003e与顶点\u003cvar\u003e\\(4\\)\u003c/var\u003e和\u003cvar\u003e\\(6\\)\u003c/var\u003e都相邻的顶点是顶点\u003cvar\u003e\\(2\\)\u003c/var\u003e。\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\u003c/li\u003e\r\n\u003cli\u003e第六个查询是\u003ccode\u003e2 1 4\u003c/code\u003e。\u003cul\u003e\r\n\u003cli\u003e没有顶点同时与顶点\u003cvar\u003e\\(1\\)\u003c/var\u003e和\u003cvar\u003e\\(4\\)\u003c/var\u003e相邻,因此报告\u003cvar\u003e\\(0\\)\u003c/var\u003e。\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\u003c/li\u003e\r\n\u003cli\u003e第七个查询是\u003ccode\u003e1 5 6\u003c/code\u003e。\u003cul\u003e\r\n\u003cli\u003e在顶点\u003cvar\u003e\\(5\\)\u003c/var\u003e和\u003cvar\u003e\\(6\\)\u003c/var\u003e之间添加一条边。\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\u003c/li\u003e\r\n\u003cli\u003e第八个查询是\u003ccode\u003e1 1 2\u003c/code\u003e。\u003cul\u003e\r\n\u003cli\u003e在顶点\u003cvar\u003e\\(1\\)\u003c/var\u003e和\u003cvar\u003e\\(2\\)\u003c/var\u003e之间添加一条边。\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\u003c/li\u003e\r\n\u003cli\u003e第九个查询是\u003ccode\u003e2 1 4\u003c/code\u003e。\u003cul\u003e\r\n\u003cli\u003e与顶点\u003cvar\u003e\\(1\\)\u003c/var\u003e和\u003cvar\u003e\\(4\\)\u003c/var\u003e都相邻的顶点是顶点\u003cvar\u003e\\(2\\)\u003c/var\u003e。\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\u003c/li\u003e\r\n\u003cli\u003e第十个查询是\u003ccode\u003e2 2 5\u003c/code\u003e。\u003cul\u003e\r\n\u003cli\u003e与顶点\u003cvar\u003e\\(2\\)\u003c/var\u003e和\u003cvar\u003e\\(5\\)\u003c/var\u003e都相邻的顶点是顶点\u003cvar\u003e\\(6\\)\u003c/var\u003e。\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\u003c/li\u003e\r\n\u003cli\u003e第十一个查询是\u003ccode\u003e2 3 4\u003c/code\u003e。\u003cul\u003e\r\n\u003cli\u003e没有顶点同时与顶点\u003cvar\u003e\\(3\\)\u003c/var\u003e和\u003cvar\u003e\\(4\\)\u003c/var\u003e相邻,因此报告\u003cvar\u003e\\(0\\)\u003c/var\u003e。\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\u003c/li\u003e\r\n\u003cli\u003e第十二个查询是\u003ccode\u003e2 2 3\u003c/code\u003e。\u003cul\u003e\r\n\u003cli\u003e与顶点\u003cvar\u003e\\(2\\)\u003c/var\u003e和\u003cvar\u003e\\(3\\)\u003c/var\u003e都相邻的顶点是顶点\u003cvar\u003e\\(1\\)\u003c/var\u003e。\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\u003c/section\u003e"}},{"title":"示例2","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e2 1\r\n377373366 41280240 33617925\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\r\n\u003csection\u003e\r\n\r\n\u003c/section\u003e\r\n\r\n\u003csection\u003e\r\n\r\n\u003cp\u003e输出可能为空。\u003c/p\u003e\u003c/section\u003e"}}]}