CF2129E.Induced Subgraph Queries
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个无权无向图 G,包含 n 个节点和 m 条边。图 G 中没有自环和重边。
我们用 V 表示 G 的节点集合。对于任意节点子集 V′⊆V,其对应的诱导子图记作 G[V′],定义如下:
- G[V′] 的节点集合为 V′,其边集合为 G 中两个端点都在 V′ 内的所有边。
你的任务是回答 q 个询问。每个询问给出三个整数 l、r 和 k。令 V′={l,l+1,…,r},你需要在 f(l,G[V′])、f(l+1,G[V′])、…、f(r,G[V′]) 这 r−l+1 个值中,找出第 k 小的值(即按升序排列后的第 k 个值,重复值按多次计)。
其中,f(u,G[V′])=⨁(u,v)∈G[V′]v。也就是说,f(u,G[V′]) 是 G[V′] 中与节点 u 相邻的所有节点编号的按位异或值。
你可以阅读提示部分以便更好地理解题意。
输入格式
每组测试数据包含多组测试用例。第一行包含一个整数 t(1≤t≤1.5⋅104),表示测试用例的数量。
每组测试用例的第一行包含两个整数 n 和 m(2≤n≤1.5⋅105,1≤m≤1.5⋅105),分别表示节点数和边数。
接下来 m 行,每行两个整数 ui 和 vi(1≤ui,vi≤n,ui=vi),表示一条连接 ui 和 vi 的无向边。
接下来一行包含一个整数 q(1≤q≤1.5⋅105),表示询问数量。
接下来的 q 行,每行三个整数 l、r 和 k(1≤l≤r≤n,1≤k≤r−l+1),表示一次关于诱导子图 G[{l,…,r}] 的询问。
保证图中没有自环和重边。
保证所有测试用例中 n、m、q 的总和分别不超过 1.5⋅105。
输出格式
对于每组测试用例,输出 q 个整数,依次表示每个询问的答案。
输入输出样例
输入#1
2 4 5 1 3 1 4 2 3 2 4 3 4 3 1 2 2 1 3 1 2 4 3 2 1 2 1 3 1 1 1 2 2 1 1 2 2
输出#1
0 3 7 0 0 2
说明/提示
在第一个测试用例中,输入的图 G 如下图所示。
给定的图 G。
在第一个询问中,诱导子图 G[{1,2}] 如下图所示。可以看到节点 1 和 2 都没有相邻节点,因此 f(1,G[{1,2}])=f(2,G[{1,2}])=0。第 2 小的值为 0。
G[{1,2}]。
在第二个询问中,诱导子图 G[{1,2,3}] 如下图所示。可以看到 f(1,G[{1,2,3}])=3,f(2,G[{1,2,3}])=3,f(3,G[{1,2,3}])=1⊕2=3。第 1 小的值为 3。
G[{1,2,3}]。
在第三个询问中,诱导子图 G[{2,3,4}] 如下图所示。可以看到 f(2,G[{2,3,4}])=3⊕4=7,f(3,G[{2,3,4}])=2⊕4=6,f(4,G[{2,3,4}])=2⊕3=1。第 3 小的值为 7。
G[{2,3,4}]。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?