首页 > 代码库 > [HDOJ5439]Aggregated Counting(乱搞)

[HDOJ5439]Aggregated Counting(乱搞)

题目: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的

      于是暴力解决

[HDOJ5439]Aggregated Counting(乱搞)