小G与计算题
(calc.c/cpp)
题目背景
sxd又要AK了。于是,小G想要nai他一下:
于是,sxd发火了。
sxd:既然你数学比我差你就没资格nai我!!!
sxd想跟你比一比计算能力
sxd认为自己配不上出这种傻逼计算题,就叫LGX出了一道。
做为小G好基友的你,只要你的程序能在1s内完成此题,小G就可以顺利地继续用正当理由nai SXD了。当然,小G也将以100分为奖励赠送给你。
题目描述
本次计算一共分三个步骤
- 定义\(a\$b=((((a^a)^a)^a)^{\cdots})^a\),等号右边一共有\(b\)个\(a\)(注意是“一共”,底数也算一个,还看不懂的就看一下样例吧),计算\(a\$b\)的值,答案对\(1e9+7\)取模,答案记为\(ans_1\)。
定义函数\(f:N_+\to N\):\(f(1)=0\),且对任意\(n\in N_+\),\(n\ge 2\),都有\[f(n)=\max\{f(j)+f(n-j)+j\mid j=1,2,3,\cdots,\lfloor \frac{n}{2}\rfloor\}.\]求出\(f(c)\)的值,答案对\(1e9+7\)取模,答案记为\(ans_2\)。
计算\(C^{\min\{ans_1,ans_2\}}_{max\{ans_1,ans_2\}}\)的值,答案对\(9007\)取模。