0:

靠前感觉之前dp抄题解都是抄的题解,自己从没有真正理解过dp。wyh下了很大决心从头学dp,于是便有了这篇文章。

1.背包

前四讲01背包&多重背包&完全背包(混合背包) :樱花

\(Note:\) 还需要学单调队列优化多重背包。

其他:咕咕咕!

泛化物品:

应该说是背包问题的一个方法综合,以函数的眼光审视背包,有助于新类型背包问题的解决。

考虑这样一种物品,它并没有固定的费用和价值,而是它的价值随着你分配给它的费用而变化。这就是泛化物品的概念。

更严格的定义之。在背包容量为V的背包问题中,泛化物品是一个定义域为0..V中的整数的函数h,当分配给它的费用为v时,能得到的价值就是h(v)。

2.简单 pj 组 dp:

NOI1995石子合并

这是一道区间dp的模型,可以延伸出许多变形。

NOIP2000乘积最大

这是一道二维dp的模型,唯一讨厌的是高精。需要注意的是算边界,由于wyh很菜,所以经常算错,还不爱调。

NOIP2000方格取数

四维dp,就喜欢这样的题,既不用算边界,也不怎么用调qwq

洛谷P2758编辑距离

算边界仍然是老大难,而且对于这种方程的状态及转移还是很不熟练。

洛谷P1868饥饿的奶牛

状态还是不感冒,还有,一定要读懂题在做,一定要读懂题在做,一定要读懂题在做!!!不要问我为啥强调。。。

NOIP2001统计单词个数

应该先看看当前状态需要用到哪些状态,从而确定循环的顺序以及边界。

NOIP2006能量项链

边界不光确定在循环中,有时在方程中也存在边界问题。。。

NOIP2008传纸条

两条路径不交插的模型需要

而不是

所以,不要自作聪明,不要想当然,每一个细节都要模拟好。

NOIP2003数字游戏

dp状态不合法的最好不遍历到,因为像wyh这种智商是想不到赋最值来避开不合法状态会发生什么的qwq。inf+1=-inf。

NOIP2007矩阵取数游戏

我需要一个好的dp状态,啊啊啊啊啊啊啊wyh智商咋那么低啊啊啊崩溃了啊啊啊啊啊啊啊!

NOIP2001数的划分

设 \(f_{i,x}\) 表示 \(i\) 个苹果放在 \(x\) 个抽屉里。第一种情况是有一个抽屉放一个苹果,即 \(f_{i-1,x-1}\),第二种情况是保证没有抽屉放一个苹果。就是把每一个抽屉都先放上一个苹果,然后还剩 \(i-x\) 个苹果。所以方程是:

\[f_{i,x} = f_{i-1,x-1} + f_{i-x,x} \]

(估计连智商低的我都能看懂的解释就不能再详细了 qwq

简单的 dp 就是要考虑当前状态根据之前的状态转移过来,并且大多数要考虑 i-1 的情况。

洛谷P1594护卫队

3.树形 dp 入门:

洛谷P2015二叉苹果树

NOIP2016换教室

洛谷P2014选课

NOIP2019纪念品

(未完待续,等待Update,,,

wyh的dp入门刷题笔记的更多相关文章

  1. 《Data Structures and Algorithm Analysis in C》学习与刷题笔记

    <Data Structures and Algorithm Analysis in C>学习与刷题笔记 为什么要学习DSAAC? 某个月黑风高的夜晚,下班的我走在黯淡无光.冷清无人的冲之 ...

  2. Python 刷题笔记

    Python 刷题笔记 本文记录了我在使用python刷题的时候遇到的知识点. 目录 Python 刷题笔记 选择.填空题 基本输入输出 sys.stdin 与input 运行脚本时传入参数 Pyth ...

  3. PTA刷题笔记

    PTA刷题记录 仓库地址: https://github.com/Haorical/Code/tree/master/PTA/GPLT 两周之内刷完GPLT L2和L3的题,持续更新,包括AK代码,坑 ...

  4. PAT-甲级刷题笔记和总结

     本帖主要记录一些自己在刷题过程中的一些笔记,包括: 1.常用的函数 2.STL中常用方法 3.常见错误 4.其他常用方法 5.刷题过程中的常见算法:https://www.cnblogs.com/M ...

  5. 《剑指offer》刷题笔记

    简介 此笔记为我在 leetcode 上的<剑指offer>专题刷题时的笔记整理. 在刷题时我尝试了 leetcode 上热门题解中的多种方法,这些不同方法的实现都列在了笔记中. leet ...

  6. 18.9.10 LeetCode刷题笔记

    本人算法还是比较菜的,因此大部分在刷基础题,高手勿喷 选择Python进行刷题,因为坑少,所以不太想用CPP: 1.买股票的最佳时期2 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. ...

  7. LeetCode刷题笔记和想法(C++)

    主要用于记录在LeetCode刷题的过程中学习到的一些思想和自己的想法,希望通过leetcode提升自己的编程素养 :p 高效leetcode刷题小诀窍(这只是目前对我自己而言的小方法,之后会根据自己 ...

  8. LeetCode刷题笔记 - 12. 整数转罗马数字

    学好算法很重要,然后要学好算法,大量的练习是必不可少的,LeetCode是我经常去的一个刷题网站,上面的题目非常详细,各个标签的题目都有,可以整体练习,本公众号后续会带大家做一做上面的算法题. 官方链 ...

  9. mysql刷题笔记

    近期,为提升自己的工程能力,在休息时常通过刷题来回顾一下基础性知识. 于是选择了牛客网上的mysql知识题库练手,过程中,主要遇到了几个比较有意思的题,记录下来,方便回顾. 题1:SQL29 计算用户 ...

随机推荐

  1. 「题解」「POJ1322」Chocolate

    目录 题目 原题目 简易题意 思路分析 代码 练习题 题目 原题目 点这里 简易题意 包裹里有无限个分布均匀且刚好 \(c\) 种颜色的巧克力,现在要依次拿 \(n\) 个出来放到桌子上.每次如果桌子 ...

  2. ANSYS单元应用简介1

    目录 1. LINK单元 2. BEAM单元 3. PLANE单元 4. SHELL单元 5. SOLIDE单元 6. COMBIN单元 ANSYS中的单元针对不同的应用对象,有着不同的选择方法,下面 ...

  3. XC1263 签到题(哇 ,写得我怀疑人生啊!!!@!@)

    1263: 签到题 时间限制: 1 Sec  内存限制: 128 MB提交: 174  解决: 17 标签提交统计讨论版 题目描述 大家刚过完寒假,肯定还没有进入状态,特意出了一道签到题给各位dala ...

  4. ajax方法详解

    $.ajax()常用参数的设置及其意义 $.ajax({ async:true, /*是否异步请求,用这对象的目的就是为了异步请求,所以此值一般不变,恒为true*/ cache:false, /*是 ...

  5. 15、python面对对象之类和对象

    前言:本文主要介绍python面对对象中的类和对象,包括类和对象的概念.类的定义.类属性.实例属性及实例方法等. 一.类和对象的概念 问题:什么是类?什么是实例对象? 类:是一类事物的抽象概念,不是真 ...

  6. Verilog状态机

    以1011为例 代码如下: //1011(Meay型) module state1(clk,in,rst_n,out); input clk; input rst_n; input in; outpu ...

  7. 2.1.1Remove Duplicates from Sorted Arr

    /* 题目:2.1.1 Remove Duplicates from Sorted Array Given a sorted array, remove the duplicates in place ...

  8. Chrome 打不开任意网页以及设置、扩展程序等页面解决方法

    解决办法:在快捷键加启动参数 -no-sandbox,如果可以启动,就说明是电脑上有某个软件与Chrome沙盒有冲突

  9. Legal High

    不让任何人承担责任,不想看的东西就回避, 但是,如果想夺回值得夸耀的生存方式,就必须看那些不愿意看的现实,必须带着身负重伤的觉悟前进,这才叫做战斗. 有怨言的话去坟墓里说,钱不是全部,钱就是你们向对手 ...

  10. 两台W7系统的电脑,A电脑可以ping通B电脑,B电脑ping不通A电脑。

    https://zhidao.baidu.com/question/1946500242424659908.html 打开控制面板-系统和安全-防火墙-允许程序-文件和打印机共享(勾选) 局域网共享是 ...