求1到n的所有数的因子/因子个数

这里有一个很好的技巧:

for(int i = 1;i<=n;i++)
{
	for(int j = i;j<=n;j+=i)
	{
		a[j].push_back(i);//放入因子
		num[j]++;//因子个数++
	}
}

如果你只需要求因子个数/因子,就可以把求因子/因子个数的代码段删掉。
时间复杂度:\(O(n \log n)\)
这是目前最有用的技巧,已经靠这个 A 了至少 \(10\) 道题。

posted @ 2025-04-04 13:18  林晋堃  阅读(101)  评论(0)    收藏  举报