Problem H. Making It Bipartite

时间限制 4000 ms   内存限制 512 MB

You are given an undirected graph of $$$n$$$ vertices indexed from $$$1$$$ to $$$n$$$, where vertex $$$i$$$ has a value $$$a_i$$$ assigned to it and all values $$$a_i$$$ are different. There is an edge between two vertices $$$u$$$ and $$$v$$$ if either $$$a_u$$$ divides $$$a_v$$$ or $$$a_v$$$ divides $$$a_u$$$.

Find the minimum number of vertices to remove such that the remaining graph is bipartite, when you remove a vertex you remove all the edges incident to it.

输入数据

The input consists of multiple test cases. The first line contains a single integer $$$t$$$ ($$$1 \le t \le 10^4$$$) — the number of test cases. Description of the test cases follows.

The first line of each test case contains a single integer $$$n$$$ ($$$1 \le n \le 5\cdot10^4$$$) — the number of vertices in the graph.

The second line of each test case contains $$$n$$$ integers, the $$$i$$$-th of them is the value $$$a_i$$$ ($$$1 \le a_i \le 5\cdot10^4$$$) assigned to the $$$i$$$-th vertex, all values $$$a_i$$$ are different.

It is guaranteed that the sum of $$$n$$$ over all test cases does not exceed $$$5\cdot10^4$$$.

输出数据

For each test case print a single integer — the minimum number of vertices to remove such that the remaining graph is bipartite.

样例

样例说明

In the first test case if we remove the vertices with values $$$1$$$ and $$$2$$$ we will obtain a bipartite graph, so the answer is $$$2$$$, it is impossible to remove less than $$$2$$$ vertices and still obtain a bipartite graph.

Before After
a8d2ee247a91514d62d2e5a4a5b13b958734cf2c.png d7c9e404c8ec23f1f4df843a0d50c31986a9f09f.png
test case #1

In the second test case we do not have to remove any vertex because the graph is already bipartite, so the answer is $$$0$$$.

Before After
f507c8b5568074fce8540e6ffc9cf21c806db461.png 99cb9a76bd59c6f883cd64081886dcac92cb7664.png
test case #2

In the third test case we only have to remove the vertex with value $$$12$$$, so the answer is $$$1$$$.

Before After
c4b2fbf26f11346240d6f4c895b181a43cd158d5.png 7104c16c22c531b3f1b2695944e8c01ab44ffe60.png
test case #3

In the fourth test case we remove the vertices with values $$$2$$$ and $$$195$$$, so the answer is $$$2$$$.

Before After
c613c9d1c863075686bade66813fc20aec86e32e.png 746366998f143a99e20d4c7363e577716f2f9f9b.png
test case #4

提交

请先 登录

© 2025 FAQs Contact About