关于春测 T2 的时间复杂度
  • 板块学术版
  • 楼主EarthMessenger
  • 当前回复13
  • 已保存回复13
  • 发布时间2023/3/6 16:42
  • 上次更新2023/10/23 22:52:10
查看原帖
关于春测 T2 的时间复杂度
177146
EarthMessenger楼主2023/3/6 16:42

容易发现春测 T2 中,k 越大程序跑得越快。

所以对于下面的代码,它的时间复杂度应该是什么:

#include <cmath>
#include <iostream>
#include <vector>

int main()
{
	int64_t n;
	int k;
	std::cin >> n >> k;

	std::vector<int> f(101);
	for (int i = k; i <= 100; i++) f[i] = std::pow((long double)n, (long double)1 / i) - 1;
	for (int i = 100; i >= k; i--) {
		for (int j = i * 2; j <= 100; j += i) {
			f[i] -= f[j];
		}
	}

	int ans = 1;
	for (int i = k; i <= 100; i++) ans += f[i];

	std::cout << ans << std::endl;
}
2023/3/6 16:42
加载中...