HDU Count 101 解题报告
2015-06-14 21:32
260 查看
题目意思:
找出所有不含有“101”子串的个数
这题可以用 DP。
用 DP[i]代表长度为 i 时的不含有“101”子串的个数。
观察可以发现,DP[i] = 2*DP[i-1] - 以“10”结尾的 DP[i-1]个数。
而 以“10”结尾的 DP[i-1]个数 是 以“0”结尾的 DP[i-1]个数 减去 以“0”结尾的 DP[i-2]个数。
任意一个 DP[i],以“0”结尾的个数有多少呢?有 DP[i-1]个。
所以最终的递推式是:
DP[i] = 2*DP[i-1] - (DP[i-2] - DP[i-3])
DP[0] = 0
DP[1] = 2
DP[2] = 4
DP[3] = 7
代码链接:HDU 3485
找出所有不含有“101”子串的个数
这题可以用 DP。
用 DP[i]代表长度为 i 时的不含有“101”子串的个数。
观察可以发现,DP[i] = 2*DP[i-1] - 以“10”结尾的 DP[i-1]个数。
而 以“10”结尾的 DP[i-1]个数 是 以“0”结尾的 DP[i-1]个数 减去 以“0”结尾的 DP[i-2]个数。
任意一个 DP[i],以“0”结尾的个数有多少呢?有 DP[i-1]个。
所以最终的递推式是:
DP[i] = 2*DP[i-1] - (DP[i-2] - DP[i-3])
DP[0] = 0
DP[1] = 2
DP[2] = 4
DP[3] = 7
代码链接:HDU 3485
相关文章推荐
- 爱树莓的小派
- MapReduce之RecordReader组件源码解析及实例
- 在Rhel 6.2或centos6 中建立163 yum 源
- Codeforces Round #307 (Div. 2)
- Maven配置-使用Maven创建WEB项目支持Tomcat目录部署
- Python实战之神经网络(1)
- 冒泡排序—while语句实现
- 深入Windows内核——C++中的消息机制
- LevelDB原理探究和代码分析(下)
- 6.面向对象程序设计
- 敏捷开发下, 如何将需求分析,架构(软件)设计,开发与测试,一气呵成式的结合且高效的完成 ?
- [算法]分治算法(Divide and Conquer)
- poj3414(用bfs模拟并回溯)
- hdoj 1796 How many integers can you find 【容斥原理】
- 西南石油大学 LaTeX Beamer模板
- 运用layerlist在5.0以下的android上实现material design的阴影效果
- Castle连接多数据库配置
- 数字签名和加密的基本原理及其区别
- poj 3026 Borg Maze
- STL源码分析之literator和triats编程技法