摘要:
题面 状态可能不太好想,设f[i][j][k]表示前i行其中有j行是放一个炮,有k行是放两个炮的合法方案数; 那么: f[i+1][j][k]+=f[i][j][k] 在这一行不放任何棋子; f[i+1][j+1][k]+=f[i][j][k]*(m-k-j); 在剩余的m-k-j个空行中随机选择一 阅读全文
posted @ 2019-08-22 20:45
神之右大臣
阅读(234)
评论(0)
推荐(0)
摘要:
题面 这道题我觉得是个不错的题; 根据题意可以较清晰的发现ans只和n和k有关;(因为输入的只有这两个数啊~); 那么设f[i][j]表示前i层用了j个节点的方案数,g[i][j]表示深度小于等于i并且用了j个节点的方案数总和; 对于一颗树,可以把它分成3部分:根节点,左字树,右子树; 对于一颗深度 阅读全文
posted @ 2019-08-22 19:58
神之右大臣
阅读(209)
评论(0)
推荐(0)
摘要:
题面 设f[i][j][k][l]为从小渊传到小轩的纸条到达(i,j),从小轩传给小渊的纸条到达(k,l)的路径上取得的最大的好心程度和。 f[i][j][k][l]=max( f[i][j-1][k-1][l] , f[i-1][j][k][l-1] , f[i][j-1][k][l-1] , f 阅读全文
posted @ 2019-08-22 18:53
神之右大臣
阅读(273)
评论(0)
推荐(0)
摘要:
题面 对于m==1和m==2两种状态进行不同的dp; 设sum[i][1]表示第一列的前缀和,sum[i][2]表示第二列的前缀和; sum[i][1]=sum[i-1][1]+a[i][1]; sum[i][2]=sum[i-1][2]+a[i][2]; 当m=1时, 设f[i][j]表示前i个数 阅读全文
posted @ 2019-08-22 17:21
神之右大臣
阅读(241)
评论(0)
推荐(0)

浙公网安备 33010602011771号