本题的本质是一个图着色问题。将每一枚符文看作一个节点,如果两个符文的编号 i 和 j(i=j)满足 gcd(i,j)>1,则在这两个节点之间连一条边。要求为所有节点分配属性(颜色),使得有边相连的两个节点颜色不同,求最少需要的颜色数。
关键观察:
你正在整理一批编号依次为 1 到 n 的魔法符文。由于符文之间的共鸣规则,对于任意两个编号 i 和 j(ieqj),若它们的最大公约数大于 1,则这两个符文不能使用相同的属性,否则会产生能量冲突。
你的任务是使用尽可能少的不同属性,为所有符文分配属性,并满足上述共鸣规则。请计算最少需要多少种不同的属性。
符文的编号数量 n 不超过 10^9,且 1≤n≤109。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.