再谈POJ 1953 高手给出O(n)算法
来源:互联网 发布:中国做外汇合法吗 知乎 编辑:程序博客网 时间:2024/05/16 09:31
题目大意:
N为二进制数列,要求不能出现连1,求数列可能种数?
我原来写了个递归算法,结果TLE,复杂度大概是O(2^n)。
后来,别人写出了O(n)的算法。
综合比较来看,我的算法相当于对所有符合条件的数列情形进行了遍历,每次函数递归调用返回时都相当于找到了这样一个数列,甚至可以写出此数列。而这是题目没有要求的,属于做了多余的工作。
而后面那个O(n)的算法,则直奔主题,直接从数列种数考虑,得出递推公式,没有做一点多余工作,自然复杂度大大降低。
算法这东西,内在是因果的。
另外感慨一下递归的可怕n<45都轻易的TLE了。
以后如果遇到类似情况,可以试图化递归为递推。
- 再谈POJ 1953 高手给出O(n)算法
- 有序整型数组A,大小为n,请给出一个O(n)的算法,删除重复元素,O(1)空间
- POJ 2085 treap O(nlogn) 与 贪心 O(n)算法
- poj 3974 最长回文串O(N)的算法
- POJ 1276 Cash Machine 多重背包O(n*m)算法
- [算法] 匈牙利算法 poj 1274 示例 [ 二分图匹配 入门篇 ] O(n*m) Hopcroft O(sqrt(n)*m)
- POJ 3670 Eating Together 二分解法O(nlgn)和O(n)算法
- floyd 算法(o(n*n*n)
- POJ 1852 Ants O(n)
- 题目2.给出一个算法,它能用O(nlgn)的最坏情况运行时间,确定n个元素的任何排列中逆序对的数目
- 算法分析O(n), O(nlogn)...
- 算法分析O(n), O(nlogn)...
- 【KMP O(n)算法详解】
- 约瑟夫问题o(n)算法
- 素数筛选 O(n)算法
- 约瑟夫环--O(n)算法
- 最长回文o(n)算法
- 找中位数O(n)算法
- Hibernate骨头
- 网站 被降权的四种处理方法
- 487-3279
- Windows硬盘转换格式
- ext3,第三扩展文件系统
- 再谈POJ 1953 高手给出O(n)算法
- ACE makefile 研究
- Implemented the interface INotifyPropertyChanged can inform UI to update the values.
- ASP.NET刷新页面的六种方法
- sqlserver链接服务器使用方法
- 如何去掉^M 符号
- 提高开发效率,节省你的时间时间--CSS工具推荐
- discuz7.0gbk版安装之后出现白屏。在线等……
- ACE篇之一:使用ACE日志设施