关于一个复杂度的分析
  • 板块学术版
  • 楼主aish
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/7/19 08:46
  • 上次更新2023/11/3 08:59:14
查看原帖
关于一个复杂度的分析
939357
aish楼主2023/7/19 08:46

我遇到了一个递推的式子:

gi=sumj=1ig⌊j⌋g_i = sum_{j = 1}^{i} g_{\lfloor \sqrt j \rfloor}

其中 g1=1g_1 = 1

我利用的类似数论分块的方式,并加上了记忆化:

using lint = long long;
lint calc(lint x) {
	if (g.get(x))
		return g.get(x);
	if (x == 1) return 1;
	
	lint v = 0;
	for (lint i = 1; i * i <= x; ++i) {
		lint r = min(x + 1, (i + 1) * (i + 1));
		v += calc(i) * (r - i * i) % mod;
		v %= mod;
	}
	
	g.set(x, v);
	return v;
}

我很好奇其复杂度到底是怎么样的……因为 1e9 可以很轻松的跑过。

2023/7/19 08:46
加载中...