CF1857D.Strong Vertices
普及-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Given two arrays a and b, both of length n. Elements of both arrays indexed from 1 to n. You are constructing a directed graph, where edge from u to v (u=v) exists if au−av≥bu−bv.
A vertex V is called strong if there exists a path from V to all other vertices.
A path in a directed graph is a chain of several vertices, connected by edges, such that moving from the vertex u, along the directions of the edges, the vertex v can be reached.
Your task is to find all strong vertices.
For example, if a=[3,1,2,4] and b=[4,3,2,1], the graph will look like this:
The graph has only one strong vertex with number 4
给定两个长度均为 n 的数组 a 和 b,两个数组的元素下标均从 1 到 n。你需要构造一个有向图,其中存在一条从顶点 u 指向顶点 v(u=v)的有向边,当且仅当满足不等式 au−av≥bu−bv。
若存在一条从顶点 V 出发、可到达图中所有其他顶点的有向路径,则称顶点 V 为强顶点。
有向图中的一条路径是指若干顶点构成的序列,相邻顶点之间由有向边连接,且沿边的方向可以从起始顶点 u 到达终点顶点 v。
你的任务是找出所有的强顶点。
例如,当 a=[3,1,2,4] 且 b=[4,3,2,1] 时,所构造的图如下所示:

该图中唯一的强顶点编号为 4。
输入格式
The first line contains an integer t (1≤t≤104) — the number of test cases.
The first line of each test case contains an integer n (2≤n≤2⋅105) — the length of a and b.
The second line of each test case contains n integers a1,a2…an (−109≤ai≤109) — the array a.
The third line of each test case contains n integers b1,b2…bn (−109≤bi≤109) — the array b.
It is guaranteed that the sum of n for all test cases does not exceed 2⋅105.
第一行包含一个整数 t(1≤t≤104)—— 测试用例的数量。
每个测试用例的第一行包含一个整数 n(2≤n≤2⋅105)—— 数组 a 和 b 的长度。
每个测试用例的第二行包含 n 个整数 a1,a2…an(−109≤ai≤109)—— 数组 a。
每个测试用例的第三行包含 n 个整数 b1,b2…bn(−109≤bi≤109)—— 数组 b。
保证所有测试用例的 n 之和不超过 2⋅105。
输出格式
For each test case, output two lines: in the first line, output the number of strong vertices, and in the second line, output all strong vertices in ascending order.
对于每个测试用例,输出两行:第一行输出强顶点的数量,第二行按升序输出所有强顶点。
输入输出样例
输入#1
5 4 3 1 2 4 4 3 2 1 5 1 2 4 1 2 5 2 3 3 1 2 1 2 2 1 3 0 2 1 1 3 2 3 5 7 4 -2 -3 -6
输出#1
1 4 2 3 5 1 2 3 1 2 3 2 2 3
说明/提示
The first sample is covered in the problem statement.
For the second sample, the graph looks like this:
The graph has two strong vertices with numbers 3 and 5. Note that there is a bidirectional edge between vertices 3 and 5.
In the third sample, the vertices are connected by a single directed edge from vertex 2 to vertex 1, so the only strong vertex is 2.
In the fourth sample, all vertices are connected to each other by bidirectional edges, so there is a path from every vertex to any other vertex.
第一个样例已在题目描述中给出。
对于第二个样例,图的结构如下:

该图有两个强顶点,编号分别为 3 和 5。注意,顶点 3 与顶点 5 之间存在一条无向边。
在第三个样例中,顶点之间仅由一条从顶点 2 指向顶点 1 的有向边连接,因此唯一的强顶点是 2。
在第四个样例中,所有顶点两两之间均通过无向边相连,因此任意顶点到其余任一顶点均存在路径。
输入解题思路,AI测评打分。不知道怎么写?