CNoier邀请赛参赛心得

fibonacci

        N和M比较小,可以直接递推,还有同余。

Code

gold

        先考虑一维的情况,g[i]表示第i个格子上的金币数。然后我们用f[i][j]表示二维的情况,显然f[i][j]=g[i]*g[j]。题目要求找前K大,那我们就用前K大的g乘乘乘>_<,可以用堆,快拍似乎可以过。我不知道为什么runtime error,得了80分。

Code

forest

        传纸条的改编的。O(n^3)的DP,F[i][j][k]表示走i步,第一个人横坐标为j,第二个人为k,纵坐标可以算出来。

F[i][j][k]=max(f[i-1][j][k],F[i-1][j][k-1],F[i-1][j-1][k],F[i-1][j-1][k-1])+Abs(A[j][jy]-A[k][ky])(j<k);

F[i][j][k]=F[i-1][j-1][k](j=k)

        由于问题的特殊,可以始终保持j<=k。而且注意有意义的j,k的取值范围。答案是F[n<<1-2][n][n]。

总结

        45个人我考了280分Rank16,还可以。果然是水题欢乐赛啊,第一题第三题是一眼题,做第二题的时候一开始没看懂题,慌张了,以后要注意。

原文地址:https://www.cnblogs.com/lijianlin1995/p/2646572.html