POJ_1221“单调递增”回文-----动态规划

 

直奔主题:

 

设f(n,m)表示 n 经分解后最大子项不超过 m 的非递减序列的种数,则有:

    f(n,m) = f(n-m,m) + f(n,m-1)

两种情况: 

    1、至少存在一个最大子项为 m,然后分解 n-m

    2、最大子项为 m-1

 

那么 

    ans(N) = f((N-k)/2, k)  k=N,N-2,N-4...0(k表示中心的那个数,且为中轴线)

 

如果 N 为偶数,则要加上一种情况:中轴线不过任何数字

    ans[N] += f(N/2, N/2); 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值