ACM专题三总结

原创 2016年06月01日 12:37:40

  昨天晚上,专题三结题了。今天做个总结,为这一个月来所学所获说说心得。可能不会多深刻,但是作为一个新手,总结是对这一段时间的反思。

  查了查动态规划定义:是一种在数学计算机科学经济学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。 动态规划常常适用于有重叠子问题最优子结构性质的问题。

  动态规划的问题有很多,在课堂上我们到现在学了简单dp,背包问题以及区间dp。但是我查了查关于动态规划还有很多,比如:LIS(最长递增序列),LCS(最长公共子序列)等,这些在课堂上我们并没有接触,所以应该学习的还有很多,不能只是依赖课堂,更多的应该是自学。

简单的dp:

  主要是思路比较简单,形式比较好表示,比如斐波拉契数列递推:f[2]=1,f[1]=1,f[i]=f[i-1]+f[i-2](i>=3),这样的一个递推就很容易解决了。所以简单的dp,要点就是找规律,看清形式,并用递推公式。

背包:

背包问题可以概括为这样的模型:有若干种选择,每种选择有一定的代价和价值,做某些选择会得到特定的状态,问我们在约定的条件下怎么得到特定的状态?这里的状态可以是代价和或者价值和或者由其他这两者组合而来的状态。这类问题需要枚举每种状态,但是可以通过动态规划减少枚举的次数,提高效率,主要思想是每次都利用前面得到的状态进行转移得到当前的状态。这类问题很少能用贪心的,首先,贪心很难证明策略是否正确,其次贪心必定使得枚举量大量减少,会导致结果错误。(引用博文:http://blog.csdn.net/woshi250hua/article/details/7636866

区间dp:

区间dp,一般是枚举区间,把区间分成左右两部分,然后求出左右区间再合并。比如课上讲的回文串,就是很典型的区间dp。

求解区间dp,我觉得最难的就是怎么找准状态转移方程,只要状态转移方程找到了,核心也就有了,整个题目基本也就结束了,其他的就是细节了。

推荐一篇大神的博客(http://blog.csdn.net/woshi250hua/article/details/7969225


最后:仔细阅读题目,找找准核心(状态转移方程),注意细节。祝下次再接再厉。



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

ACM第一专题—贪心算法总结

这一专题的题目做了不少,但似乎对贪心的感念依然有些模糊,下面简单写下我的理解。   一.概述   所谓贪心算法,就是用将一个大的问题细化成若干小问题,通过逐一解决这些小问题,最终求得问题解的方法。这种...

《ACM程序设计》书中题目-专题总结

《ACM程序设计》书中题目专题总结 通过这个专题的练习,初步掌握了一些C++STL(即C++标准模板库)的用法,stl使用十分方便,可以很大程度的提高代码简洁度和程序效率。这个专题作用是让我了解到ST...

acm的DP专题

  • 2015年06月11日 21:14
  • 37KB
  • 下载

ACM暑期集训——专题二[最短路Bellman-Ford算法]

#include #include using namespace std; int map[1002][1002]={0}; struct side{ int x,y,v; }; int ...

大量的acm专题,打包下载

  • 2009年11月14日 14:54
  • 13.73MB
  • 下载

hdu acm讲义(含很多专题)

  • 2008年08月05日 22:24
  • 9.32MB
  • 下载

ACM专题训练

OJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094) ...
  • cqlf__
  • cqlf__
  • 2012年07月21日 17:24
  • 860

ACM icpc 动态规划 DP专题

  • 2011年02月23日 10:48
  • 1.3MB
  • 下载

搜索专题,ACM的培训

  • 2009年05月15日 17:00
  • 464KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ACM专题三总结
举报原因:
原因补充:

(最多只允许输入30个字)