转载请注明出处:http://www.cnblogs.com/TSHugh/p/8858805.html

Prepared:

(无notes的波兰题目的notes见我的波兰题目补全计划)
BZOJ #3831.[Poi2014]Little Bird
BZOJ #2091.[Poi2010]The Minima Game
BZOJ #4385.[POI2015]Wilcze doły
BZOJ #4379.[POI2015]Modernizacja autostrady
BZOJ #3830.[Poi2014]Freight
LOJ #2450.「POI2010」绵羊 Sheep
BZOJ #2216.[Poi2011]Lightning Conductor
BZOJ #3711.[PA2014]Druzyny
BZOJ #3717.[PA2014]Pakowanie
BZOJ #3746.[POI2015]Czarnoksiężnicy okrągłego stołu
BZOJ #1435.[ZJOI2009]多米诺骨牌 插头dp+容斥
  notes:
  轮廓线有妙用!
  除了插头都想到了……
  我的感觉:
  轮廓线的引入虽然会在一定程度上增多状态数,但是会在很大程度上减少转移的复杂度,所以这个东西有些时候是有非常的妙用的,尤其是在网格图上.
  这道题分板块计算答案的思路还是比较好的吧.

Preparing:

BZOJ #1138.[POI2009]Baj 最短回文路
COGS #221.[NOIP2008] 双栈排序
LOJ #2448.「POI2010」铁路 Railway
BZOJ #3872.[Poi2014]Ant colony
BZOJ #2794.[Poi2012]Cloakroom
BZOJ #2803.[Poi2012]Prefixuffix
BZOJ #2526.[Poi2011]Inspection

Dealt:

CodeForces #814E.An unavoidable detour for home 动态规划
  notes:
  我打的是O(n^5)的dp,主要还是分析性质,分析状态和转移
UOJ #37.【清华集训2014】主旋律 状压dp+容斥
  note:
  做不出来……
  一开始只想到直接算SCC的,走到黑也没有去想反状态……所以不要走到黑也不回头啊……
  想到反状态之后,还是要想到如何容斥,就是说如何计算不是scc的方案数.由于不是scc的图缩点之后一定存在入度为0的点,所以可以容斥入度为0的点,这个时候我们可以把入度为0的scc的个数作为容斥的对象.这个时候我们就有了3^n的做法,当然这里面还需要有些细节以及其他的小套路.

Dealing:

LOJ #6094.「Codeforces Round #418」归乡迷途
UOJ #348

Notes:

就做了几天的dp,所以说总结不是很全面,也不一定都是对的.
技巧篇:
  I.决策单调性的利用.决策单调性是dp优化的重要一环,利用它的方式可以是数形结合(eg:斜率优化等)、数据结构(单调栈、单调队列等)、分治等.当然,单调性也分为不同的几种,比如:决策点单调、关键点单调、决策方式单调(这已经包含了斜率的单调)等.这种数学化的思维是dp学习者必须掌握的.
    如何发现单调性:心里有单调性这种东西,再加上细心观察或者数学分析.
  II.猜测结论.我也不知道这样做对不对,只是知道这样做有时候很有效.
  III.轮廓线的运用.这在网格图中用的比较多,感觉起来是牺牲较少状态数来换取较优的转移,这往往有着较好的效果.
  IV.数学角度无脑优化.先写出转移来,然后数学化之后利用数学无脑优化,似乎在有些题中很好用.
  V.网格图分板块计数.
  VI.记忆化搜索以减少代码复杂度.
  VII.手玩.手玩样例、手玩转移等都会对于解决问题有一定的帮助.
  VIII.枚举二进制位转为枚举二进制有效位.这会除个2,有时候就是从T到A的区别.
  IX.按位搞事情.
  X.二分&wqs二分&三分.
  XI.图的dp,转移的时候枚举与自己联通的点集.
思想篇:
  I.问题模型的转化.这一点的重要性是无疑的,很多的算法题都需要用到这种思想,这种思想在一些题目中可以看作是部分分的实质,而且他在解决问题中的运用直接决定了算法的优劣.
  II.容斥思想.这种利用组合计数原理来降低问题困难程度的方法在许多题目里也是不可或缺的.
  III.补集转化.在原问题难以解决的时候考虑解决与原问题互补的反问题是一种不错的思路.
  IV.二元组计数.把平方计数转化为二元组计数,挺通用且常见的.
  V.分析问题性质.eg:图的性质、发现log或者根号等.
  VI.分析构造问题的构造过程.这在构造问题中挺有效的.
  VII.无用状态的舍弃.这不仅仅是常数或者剪枝,有时候舍弃掉无用状态会对状态和转移起到不可小觑的优化与启发.
  VIII.多边形划分与区间的联系.
  IX.最优子结构性质.搞清楚这个东西对于状态与转移的设计有帮助的.
  X.差分思想.
  XI.重构树思想.这个东西可以把一些看似分治的东西搞成树形dp,至少现在我是这么觉得的.
重点篇:
  I.dp的状态设计.这真的很关键,往往状态的设计直接决定了程序运行效率,而且状态的设计,不只是在dp中很重要,他在其他算法领域也是十分关键的,这是一种思想,一种思维,在有些难题的做法中,最能惊艳到你的就是状态的设计.
    有关状态设计的思想:
      1.转化问题模型.
      2.结合构造问题的构造过程.
      3.分析问题性质(eg:图的性质、发现log或者根号).
      4.分析最优子结构性质.
      5.增量构造.
      6.差分思想.
  II.dp的转移设计.转移往往建立在状态设计的基础之上,是决定dp题目程序运行效率的另一关键因素,不过有些时候,巧妙的转移对于状态的设计与优化是有启发作用的,当然,有的时候,转移需要一些优化.
    有关转移设计的思想:
      1.结合状态.
      2.数学角度(eg:组合数学等).
      3.手玩.
      4.分析最优子结构性质.
      5.增量构造.
      6.差分思想.
    转移的优化:
      1.单调性.
      2.数学(eg:数形结合、四边形优化等).
      3.数据结构.
      4.分治.
      5.问题性质(eg:根号、log等).
      6.矩阵乘法.
      7.差分思想.
      8.有限状态自动机.
  III.发觉dp.有个别的题目很难发觉他是dp,要是说什么题是dp什么不是,这对于我来说还真不简单,那么做题的时候记着这玩意就好了吧.

Work at DP的更多相关文章

  1. BZOJ 1911: [Apio2010]特别行动队 [斜率优化DP]

    1911: [Apio2010]特别行动队 Time Limit: 4 Sec  Memory Limit: 64 MBSubmit: 4142  Solved: 1964[Submit][Statu ...

  2. 2013 Asia Changsha Regional Contest---Josephina and RPG(DP)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4800 Problem Description A role-playing game (RPG and ...

  3. AEAI DP V3.7.0 发布,开源综合应用开发平台

    1  升级说明 AEAI DP 3.7版本是AEAI DP一个里程碑版本,基于JDK1.7开发,在本版本中新增支持Rest服务开发机制(默认支持WebService服务开发机制),且支持WS服务.RS ...

  4. AEAI DP V3.6.0 升级说明,开源综合应用开发平台

    AEAI DP综合应用开发平台是一款扩展开发工具,专门用于开发MIS类的Java Web应用,本次发版的AEAI DP_v3.6.0版本为AEAI DP _v3.5.0版本的升级版本,该产品现已开源并 ...

  5. BZOJ 1597: [Usaco2008 Mar]土地购买 [斜率优化DP]

    1597: [Usaco2008 Mar]土地购买 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4026  Solved: 1473[Submit] ...

  6. [斜率优化DP]【学习笔记】【更新中】

    参考资料: 1.元旦集训的课件已经很好了 http://files.cnblogs.com/files/candy99/dp.pdf 2.http://www.cnblogs.com/MashiroS ...

  7. BZOJ 1010: [HNOI2008]玩具装箱toy [DP 斜率优化]

    1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 9812  Solved: 3978[Submit][St ...

  8. px、dp和sp,这些单位有什么区别?

    DP 这个是最常用但也最难理解的尺寸单位.它与“像素密度”密切相关,所以 首先我们解释一下什么是像素密度.假设有一部手机,屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240x320,则我们可以计算 ...

  9. android px转换为dip/dp

    /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public int dipTopx(Context context, float dpValue) { final floa ...

  10. POJ 3254. Corn Fields 状态压缩DP (入门级)

    Corn Fields Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 9806   Accepted: 5185 Descr ...

随机推荐

  1. Harbor配置https,并安装内容信任插件(notary)

    1.配置https https://github.com/goharbor/harbor/blob/master/docs/configure_https.md 2.harbor安装notary插件 ...

  2. our team

    今天向大家介绍一下我们的团队,首先我们的团队叫“吉祥三宝”当然我们的三宝不是亲子关系,我们是兄弟关系,对,就是这样 下面来介绍一下我们的团队成团吧: 李奇原: 性格开朗.积极乐观.有责任心,擅长团队协 ...

  3. 关于cnblog.com的用户体验

    首先我自己目前是一个学生党,每天在博客园上就上发布一些自己做的东西以及老师布置的作业,还能在上面学习很多别人的一些好的列子,我就希望博客园能够很好地为我们这些学生服务,当我们用它时能够很好地达到我们的 ...

  4. DP---基本思想 具体实现 经典题目 POJ1160 POJ1037

    POJ1160, post office.动态规划的经典题目.呃,又是经典题目,DP部分的经典题目怎就这么多.木有办法,事实就这样. 求:在村庄内建邮局,要使村庄到邮局的距离和最小. 设有m个村庄,分 ...

  5. Struts2:Struts2在jsp中使用标签时值的获取

    在OGNL的使用中,需要访问一系列的对象,这些对象放在OGNL的context中,context是一个Map结构,实际上它和ActionContext是相应的. 当用户发送请求时,struts会创建A ...

  6. 1106C程序语法树

  7. 【c】线性表

    数据对象集:线性表是N(>=0)个元素构成的有序序列,a1,a2,a3.....a(N-1),aN,a(N+1) 线性表上的基本操作有: ⑴ 线性表初始化:Init_List(L)初始条件:表L ...

  8. web.py 中文模版报错

    1. 作为模板的html文件,必须是utf-8编码; 2. html文件内容中的charset必须为utf-8,也就是必须包含 <meta http-equiv="Content-Ty ...

  9. JDK1.8 之Lambda

    Lambda 理解的了很久才有一点小感觉. 语法 lambda表达式的特点,它的语法如下面. parameter -> expression body 下面是一个lambda表达式的重要特征. ...

  10. Bare metal APIs with ASP.NET Core MVC(转)

    ASP.NET Core MVC now provides a true "one asp.net" framework that can be used for building ...