bzoj地精部落(序)

2.第二种理解,f[i][j]=求和g]i-1][k](1<=k<=j-1),要点中的代换就有用了,得到f[i][j]=f[i-1][i-k],变形做查,f[i][j-1]=f[i-1][i-k],做差得f[i][j]=f[i-1][j]+f[i-1][i-j+1],最后答案ans=2*求和f[n][i]

3.第三种:第二维表示范围,f[i][j]=f[i][j-1]+g[i-1][j-1]=f[i][j-1]+f[i-1][i-j+1],最后ans=f[n][n]*2

大概就是以上几种,其中第一种在本题中有巨大的局限性,第二种的变形极为巧妙,是加速dp好方法,第二三种表示方法不难(首和尾)联系紧密,第二维一个是数一个是区间,因此第三种不用变形,加速dp的方式:变形,改写状态,优化方法等,有时要综合使用,另外,重点在于上升下降的一一对应转化,以及相对思想(抖动子序列)1

理解一代码(慢慢慢,错错错):bzoj上

你可能感兴趣的:(bzoj地精部落(序))