HDU - 2604 Queuing解题报告
来源:互联网 发布:手机淘宝类目怎么修改 编辑:程序博客网 时间:2024/06/06 02:34
完全自己写的代码,自己思路,觉得是dp,然后一开始找状态没找对,发现递推公式写不出来,然后根据自己感觉能写出来的递推公式,一点一点改状态,最后得到合适的状态。定义mm[i]表示的是i个字符且前两个字母是mm时,满足要求的队列的数量modn。mf,ff,fm以此类推。
递推公式:
mm[i]=mm[i-1]+mf[i-1];
mf[i]=ff[i-1]+fm[i-1];
fm[i]=mm[i-1];
ff[i]=fm[i-1];
因为要求数列最长的长度就需要知道之前的每一段长度,所以mm[0]到mm[end]都要遍历一遍,所以选择了递推。
由于数据变大会很快,一开始是每循环一次都要取余,然后超时了。改成循环十次取余过去了。
后来去网上查了题解,发现了其他的状态转移方程:F(n) = F(n-1)+ F(n-3)+ F(n-4);
另外在查题解的时候,发现了一种新的算法好像叫“快速矩阵幂”,好像可以优化速度,有时间仔细读一些,专门写一篇理解吧。
0 0
- HDU - 2604 Queuing解题报告
- hdu 2604 Queuing
- hdu 2604 Queuing 矩阵
- hdu 2604 Queuing
- hdu 2604 queuing
- hdu 2604 - Queuing
- hdu 2604 Queuing
- HDU 2604-Queuing
- hdu 2604 Queuing 矩阵
- HDU 2604 Queuing
- HDU 2604 Queuing
- 【HDU 2604】 Queuing
- HDU 2604 Queuing
- HDU 2604 Queuing
- HDU 2604 Queuing
- HDU:2604 Queuing
- hdu 2604 Queuing
- hdu-2604-Queuing
- uva 10827Maximum sum on a torus
- NOIP 2013 提高组 复赛 day2 block 积木大赛
- 【2月1日】并发(六):run()和start()
- SQLite事务与自增深度分析
- 算法训练 Anagrams问题
- HDU - 2604 Queuing解题报告
- 双系统下卸载Ubuntu方法
- 1028. 人口普查(20)
- Installing with get-pip.py
- mysql中int、bigint、smallint 和 tinyint的区别详细介绍
- 拟阵理论和贪心算法浅析
- Leetcode: Reverse word in string
- SQL中的关联更新和关联删除
- arm cortex ubuntu16.04最快源(2017年)