【YBTOJ】求 f 函数

题目大意:

给出一个函数:

(f(x)=left{egin{matrix}f(f(x+11))&quad(xleq 100)\ x-10&quad(x> 100) end{matrix} ight.)

(f(n))

正文:

(n) 的上限开始倒着往前求就行了。但是你会发现其实只要 (xleq101),答案就是 (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 <= 101)? 91: (n - 10));
原文地址:https://www.cnblogs.com/GJY-JURUO/p/14110220.html