牛客网之黑暗的字符串

题目链接:黑暗的字符串

  • 分析:不管前面是什么序列,你在第n位至少有两种填法,第n-1,n-2的字母,当第n-1,n-2字母相同时,前面就漏掉了一种填法,即加上一个f(n-2)即可
  • 确定dp数组以及下标的含义:dp[i]表示字符串的长度为i的时候的黑暗的字符串的数目。
  • 状态转移方程dp[i]=dp[i-1]+2*dp[i-2];
  • 初始化vector<long long> dp(n+1,0); dp[1]=3;dp[2]=9; 所有的状态如果都不符合题目的要求的话,其结果是为0的。
  • 确定遍历顺序:dp[i]是由dp[i-1]和dp[i-2]推导而来,因此,遍历i的时候应该从左往右遍历。
  • 优化:这道题其实就是斐波那契数列的变形,因此我们可以采用矩阵快速幂进行优化程序,使得其时间复杂度降为O(logN)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值