随笔分类 - 动态规划
摘要:一般对于两个字符串,长度分别为n和m,其时间复杂度为O(nm)。 但是针对小字符集的情况,可以把复杂度降低到O(n^2+km),其中n为两个字符串较短的长度。这种方法对于两个字符串长度相差很大的情况比O(nm)要优化很多。 就假设所有的字符都是小写字母,这样就符合小字符集的前提了。设较短的字符串为S
        阅读全文
                
摘要:问题描述:给一个数组a1,a2,...,an.求这个数组的最大连续子段和。(非空子段) 即,定义Sij=ai+...+aj,则题目要求的是 max{Sij}(1<=i<=j<=n) N^3枚举和优化之后的N^2枚举就不说了,还有NlogN的二分算法也不提,想了解的可以看我的另一篇博客:http://
        阅读全文
                
摘要:今天花了很长时间终于弄懂了这个算法……毕竟找一个好的讲解真的太难了,所以励志我要自己写一个好的讲解QAQ 这篇文章是在懂了这个问题n^2解决方案的基础上学习。 解决的问题:给定一个序列,求最长不下降子序列的长度(nlogn的算法没法求出具体的序列是什么) 定义:a[1..n]为原始序列,d[k]表示
        阅读全文
                
摘要:题目链接:http://hihocoder.com/problemset/problem/1050 两种方法: 1. 两遍dfs,第一次随便找一个根,找到距离这个根最远的点,这个点必然是最长链的一端。第二次就用这个端点做一遍dfs,最远的点就是另一端。 2. 树形dp。记dp[i][0/1]表示以i
        阅读全文
                
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1398 看到网上的题解都是说母函数……为什么我觉得就是一个dp就好了,dp[i][j]表示只用前i种硬币,组成价值为j的价格的方案数,转移枚举第i种硬币用多少个就好了。
        阅读全文
                
摘要:题目链接:http://poj.org/problem?id=1947 看了很多题解都是直接一遍dfs就搞定的方法,但是我实在是没看懂那个转移方程。最后在茫茫博客中终于发现了一个有逻辑的方法,但是复杂度好像要高一些,但是还是把这个题过了。http://www.chongchonggou.com/g_
        阅读全文
                
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3507 kuangbin大佬的博客讲的非常清楚orzhttp://www.cnblogs.com/kuangbin/archive/2012/08/26/2657650.html
        阅读全文
                
摘要:题目链接:http://poj.org/problem?id=2342 dp[i][0/1]表示以i为根的子树,选或不选根,所能得到的最大rating和。 显然 dp[i][0]=∑max(dp[son][0],dp[son][1]) dp[i][1]=val[i]+∑dp[son][0]
        阅读全文
                
摘要:原以为很好的理解了数位dp,结果遇到一个新的问题还是不会分析,真的是要多积累啊。 解决13的倍数,可以根据当前余数来推,所以把当前余数记为一个状态就可以了。
        阅读全文
                
摘要:题目链接:http://poj.org/problem?id=2533 其实这个题的数据范围n^2都可以过,只是为了练习一下nlogn的写法。 最长上升子序列的nlogn写法有两种,一种是变形的dp,另一种是树状数组。 变形的dp可以参考http://www.cnblogs.com/itlqs/p/
        阅读全文
                
摘要:题目链接:https://vjudge.net/contest/171650#problem/I 直接用set+dp水过去了。。。
        阅读全文
                
摘要:题目链接:https://vjudge.net/problem/38405
        阅读全文
                
摘要:感觉数位dp的套路基本掌握了,一些细节的处理要注意。比如这次输入输出都要用long long的问题,因为这个wa了好几次。还有全是0算重的情况,0特判一下就可以了。
        阅读全文
                
摘要:通过这个题对于数位dp中前导0的处理有了新的认识。 题目链接:http://poj.org/problem?id=3252
        阅读全文
                
摘要:通过这个题目更加深入了解到了数位dp在记忆化搜索的过程中就是实现了没有限制条件的n位数的状态复用。
        阅读全文
                
摘要:一个不错的讲解数位dp的博客:http://blog.csdn.net/wust_zzwh/article/details/52100392 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 这个题数据范围比较小,所以暴力也可以过,像这样: 但是
        阅读全文
                
摘要:一个不错的讲解:https://github.com/julycoding/The-Art-Of-Programming-By-July/blob/master/ebook/zh/01.05.md
        阅读全文
                
                    
                
浙公网安备 33010602011771号