【YBTOJ】求 f 函数

题目大意:

给出一个函数:

\(f(x)=\left\{\begin{matrix}f(f(x+11))&\quad(x\leq 100)\\ x-10&\quad(x> 100) \end{matrix}\right.\)

\(f(n)\)

正文:

\(n\) 的上限开始倒着往前求就行了。但是你会发现其实只要 \(x\leq101\),答案就是 \(91\),所以可以达到 \(O(1)\) 的。

代码:

\(O(n)\):

for (int i = 101; i <= N - 10; i++)
	f[i] = i - 10;
for (int i = 100; i >= 1; i--)
	f[i] = f[f[i + 11]];

\(O(1)\):

printf ("%d\n", (n <= 101)? 91: (n - 10));
posted @ 2020-12-09 18:27  Jayun  阅读(234)  评论(0编辑  收藏  举报