为防止广告,目前nocow只有登录用户能够创建新页面。如要创建页面请先登录/注册(新用户需要等待1个小时才能正常使用该功能)。
USACO/numtri
来自NOCOW
< USACO
[编辑] 分析
简单的动态规划
设f[i,j]表示到达第i层第j个最大的分数。 状态转移方程: f[i,j]=Max{f[i+1,j],f[i+1,j+1]}+a[i,j] (1<=i<=n-1,1<=j<=i)我们只需要知道下层的情况,所以可以用滚动数组来记录,时间复杂度O(n^2),空间复杂度O(n)。
楼上的~虽说有嵌套循环,但是时间复杂度其实是O(n)哦.
状态数目都有n^2,转移代价是*2,所以时间复杂度的确是O(n^2)(n是指行数r,不是指状态数);
其实用动态规划时间O(n)就够了,参见pascal最后两个程序,空间分别O(n)和O(n^2),最后一个只用一个for(纯属娱乐,不建议在竞赛这样做)