您的位置:首页 > 其它

poj 1496&1850

2010-03-11 19:35 218 查看
终于做出来了,不禁长舒一口气。

历时+-8小时,倍感压力巨大。

接下来说说我的心得吧:

这题用到的是组合的知识;

处理第一位字母时,需要计算之前的字母排序数,第一位有其特殊之处:如:bcd,处理b位时,前面有 口??,和a??两种情况,我们只要处理2次就可以了;

处理末位时,只要计算(当前位字母-前一位字母)即可;

处理首末之间位置时,就要考虑两种情况:比如bexy,处理e位时,1.口??,这一种对于每一位计算都需要;2. c??、d??,而这一种,就要看前一位和当前位了,之间有几个字母,就有几个排序。

对于排序,这样计算Cmn(该符号为组合数表示),n是 26-当前位字母序数(在字母表中的序数),m是 len-i-1 (len是字符串长度,i是字符串下标(即当前处理位))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: