2016.10.6总结

2016.10.6总结:

[1]stairs

这道题就是一个简单的DP,其实因该叫递推,f[i]表示走到第i个楼梯时的最少步数,可以发现,如果这个楼梯不是坏的那么就可以推出一条公式:

F[i]:=f[i-1]+f[i-2]+f[i-3]; 因为坏的楼梯我们是不走的,所以就算加到坏的楼梯上面,也只会加0。(PSfint64[题目要求]

[2]Queen

这题就是一题改了一点条件的八皇后问题。也就是N皇后,只需要在N皇后里多加一个bz数组,记录下他的位置,按题目要求判断它是否能放,并省去对角线的判断,即可。

[3]pond

这题就是等于纯打表,也可以说是循环打表。首先我们可以发现,开头和结尾时永远不会变的,XXX......OOO......__

例如 6 开头是XXXXXXOOOOOO__

结尾是__XOXOXOXOXOXO

所以过程就是每次做分两段为一组,也就是:

XXXXXXOOOOOO__

XXXXX__OOOOOXO
XXXXXOOOOO__XO

也就是 (1)找到XO__,交换。

       (2)从后往前找,找到第一个OO,再找到__,交换。即可。

但我们发现,XXX__OOOXOXOXO以后的都不相同,完全没有规律。所以简单地打表就行了。也就是

XXXOXOO__OXOXO

X__OXOOXXOXOXO

XOXOXO__XOXOXO

__XOXOXOXOXOXO

在后面删掉两个XO

XXXOXOO__O

X__OXOOXXO

XOXOXO__XO

__XOXOXOXO

最后没次循环N-4次,输出XO即可。

[4]power

一题动态规划题,F[I,J]表示从第i个合并到第j个的最小值。

状态转移方程:if f[i,j]=0 or f[i,j]>f[j,k]+f[k2,i-k]+sum[j,i] then

 f[i,j]:=f[j,k]+f[k2,i-k]+sum[j,i]

Sum[i,j]表示从ij的和。

K2k+j 但是我们要取(k+j-1mod n+1,因为有k+j=n的情况。

最后输出maxf[i,n]);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值