[HDOJ5439]Aggregated Counting(乱搞)

时间:2024-08-27 18:05:08

题目:http://acm.hdu.edu.cn/showproblem.php?pid=5439

题意:按规则构造一个数列a

a(1)=1 a(2)=2

a(2)=2 -------> 写两个2 --------> a()={1 2 2}

a(3)=2 -------> 写两个3 --------> a()={1 2 2 3 3}

a(4)=3 ------->写三个4 --------->a()={1 2 2 3 3 4 4 4}

以此类推

求f(f(n)),f(n)表示数字n在该数组里最后出现的位置

分析:

f(n)的值其实是该数列的前n项和(根据定义)

f(f(n))的值是该数列的前f(n)项和,也就是1+(2+3)*2+(4+5)*3+(6+7+8)*4+(9+10+11)*5+..+(...+n)*x

x是远远小于n的

于是暴力解决