动态规划

序列DP

有些问题:

  • 求长度为\(l\)的上升子序列个数

    形如一个值域的前缀和的形式,还要支持插入,所以可以用树状数组优化DP,\(O(n^2logn)\)求解([BZOJ4361]isn)

  • 求最长上升子序列长度

    两种做法,前者拓展性更强

    • 设\(f[i]\)表示到第\(i\)个位置的最长上升子序列长度,则\(f[i]=max(f[j]+1),j<=i\&\&A[j]<A[i]\),用值域树状数组优化前缀\(max\)即可

    • 设\(f[i]\)表示最长上升子序列长度为\(i\)的最小结尾值,可以知道\(f\)是单调递增的。新加入一个数\(x\)时找到大于等于\(x\)的第一个位置\(j\),\(f[j]=x\),意思是长度为\(j\)的最长上升子序列可以在\(j-1\)的基础上接\(x\)而不是接\(f[j]\),同时对其他的\(f\)不影响。如果\(x\)大于了最大值,\(f\)往后加一位

      如果求的是不降子序列那找到严格大于\(x\)的位置即可

    关于最长上升子序列,有一个很神奇的性质:拥有双权值的序列,对其一维排序,对另一维做\(LIS\)答案相同

    这个性质仿佛并没有什么用.....证明:对某一维排序并不影响两个元素间的二维偏序关系

  • 序列为树的前序遍历,则为区间DP问题

考虑方向:

  • 对区间DP
  • 对长度DP
  • 考虑倍增优化

背包问题

  • 充分利用好题目条件,隐含着物品有无限制、不会超过\(\sqrt n\)个等条件
  • 物品代价的整倍数,用同余系的单调队列优化

状态压缩以及拆分数

在点数很少的情况下可以进行状态压缩
点如果是没有区别的,可以采用拆分数进行更大数据范围的操作,再组合计数即可

\(40\)内的拆分数在\(4W\)以内

期望概率DP

马尔可夫过程

大概就是说状态可以回退,自己可以转移给自己或者自己之前的状态,这就需要高斯消元了

  • [JLOI2012]时间流逝

树上马尔可夫过程,\(f[i]=Pf[fa]+(\sum f[son])+1\)

需要高斯消元但是时间不够,介绍一种 \(O(n)\)的树上高斯消元

假设\(f[i]=kf[fa]+b\),然后依次可以推导出\(f[i]=\frac{P}{1-A\sum k}f[fa]+\frac{1+A\sum b}{1-A\sum k}\),从而表示这个表示可行,然后对于每个点算\(k\)和\(b\)就可以得到根的答案了

一类生成树计数问题

树的生成方式为:每次在当前的树的结构上随机选取一个点,在其下方挂上一个结点

已经遇到的题目:

  • 问期望高度(10.17T2)

    设\(f[i][j]\)表示放了\(i\)个结点,高度不超过\(j\)的方案数,转移是\(f[i][j]=f[k][j-1]+f[i-k][j]\),表示为一棵树连到了另一棵树的根。最后除以阶乘即可。

  • 问期望\(\sum_{i=1}^{n}\sum_{j=1}^{n}dis(i,j)\)(HAOI2018苹果树)

    考虑每一条边产生的贡献,枚举\(i\)点的\(siz\),然后乘上\(1-i\)的生成方式、\(i\)子树的生成方式、其他地方的生成方式、以及i子树内选择编号的方案数

平方计数

求\(\sum a^2\)

  • 如果\(a\)是到达某种状态的方案数,那么可以等价为求两种操作序列最后得到的状态相同的方案数(NOI2009管道取珠)

Noip前的大抱佛脚----动态规划的更多相关文章

  1. Noip前的大抱佛脚----文章索引

    Noip前的大抱佛脚----赛前任务 Noip前的大抱佛脚----考场配置 Noip前的大抱佛脚----数论 Noip前的大抱佛脚----图论 Noip前的大抱佛脚----动态规划 Noip前的大抱佛 ...

  2. Noip前的大抱佛脚----Noip真题复习

    Noip前的大抱佛脚----Noip真题复习 Tags: Noip前的大抱佛脚 Noip2010 题目不难,但是三个半小时的话要写四道题还是需要码力,不过按照现在的实力应该不出意外可以AK的. 机器翻 ...

  3. Noip前的大抱佛脚----字符串

    目录 字符串 经验 用FFT求解字符串匹配问题 两(多)串DP时状态合并 最长公共子序列转LIS 位运算最大值 挂链哈希 哈希处理回文串 树哈希 字符串模板库 KMP 最小循环表示 Mancher A ...

  4. Noip前的大抱佛脚----一些思路

    目录 一些思路 序列 函数问题 网格图 删除和询问 乘法问题 顺序问题 最值问题 研究成果 数论分块套数论分块的复杂度 一些思路 Tags:Noip前的大抱佛脚 序列 线段树(当然还要有主席树啊!) ...

  5. Noip前的大抱佛脚----数论

    目录 数论 知识点 Exgcd 逆元 gcd 欧拉函数\(\varphi(x)\) CRT&EXCRT BSGS&EXBSGS FFT/NTT/MTT/FWT 组合公式 斯特林数 卡塔 ...

  6. Noip前的大抱佛脚----图论

    目录 图论 知识点 二分图相关 DFS找环 并查集维护二分图 二分图匹配的不可行边 最小生成树相关 最短路树 最短路相关 负环 多源最短路 差分约束系统 01最短路 k短路 网络流 zkw费用流 做题 ...

  7. Noip前的大抱佛脚----数据结构

    目录 数据结构 知识点及其应用 线段树 神奇标记 标记不下放 并查集 维护二分图 维护后继位置 堆 可并堆的可持久化 dsu on tree 方式&原理 适用范围 单调队列 尺取合法区间 模板 ...

  8. Noip前的大抱佛脚----赛前任务

    赛前任务 tags:任务清单 前言 现在xzy太弱了,而且他最近越来越弱了,天天被爆踩,天天被爆踩 题单不会在作业部落发布,所以可(yi)能(ding)会不及时更新 省选前的练习莫名其妙地成为了Noi ...

  9. Noip前的大抱佛脚----根号对数算法

    根号算法 分块 数列分块入门九题(hzwer) 入门题1,2,3,4,5,7 问题:给一段区间打上标记后单点查询 解法:主要是每块维护一些标记,计算答案等,此类分块较为简单 注意:块大小一般为\(\s ...

随机推荐

  1. 2.MyBatis 动态SQL

    动态 SQL MyBatis 的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦.拼接的时候要确保不能忘了必要的空格 ...

  2. 使用 CLI 创建 Azure VM 的自定义映像

    自定义映像类似于应用商店映像,不同的是自定义映像的创建者是你自己. 自定义映像可用于启动配置,例如预加载应用程序.应用程序配置和其他 OS 配置. 在本教程中,你将创建自己的 Azure 虚拟机自定义 ...

  3. Ubuntu-18.04 下使用Nginx搭建高可用,高并发的asp.net core集群

    一.实现前的准备 以下是实现简单负载均衡的思路,图中的服务器均为虚拟机 三台Linux服务器,一台用作Nginx负载均衡(192.168.254.139),另外两台用作Asp.Net Core应用程序 ...

  4. Semaphore-信号灯机制

    我们创建一个可扩展大小的线程池,并且需要在线程池内同时让有限数目的线程并发运行时,就需要用到Semaphore(信号灯机制),Semaphore 通常用于限制可以访问某些资源(物理或逻辑的)的线程数目 ...

  5. [控件] 动态实时设置CAShapeLayer贝塞尔曲线的坐标点

    动态实时设置CAShapeLayer贝塞尔曲线的坐标点 效果图: 源码: PathDirectionView.h 与 PathDirectionView.m // // PathDirectionVi ...

  6. [翻译] AFSoundManager

    AFSoundManager iOS audio playing (both local and streaming) and recording made easy through a comple ...

  7. 解析苹果的官方例子LazyTableImages实现图片懒加载原理

    解析苹果的官方例子LazyTableImages实现图片懒加载原理 首先在官网下载源码: https://developer.apple.com/library/ios/navigation/#sec ...

  8. VVeboImageView

    VVeboImageView https://github.com/johnil/VVeboImageView A UIImageView to play gif with low memory. 一 ...

  9. django中的字段类型

    from http://www.cnblogs.com/lhj588/archive/2012/05/24/2516040.html Django 通过 models 实现数据库的创建.修改.删除等操 ...

  10. Proxyee-down的下载与安装教程

    源代码在:GitHub_proxyee-down 为了节约读者的时间,我把需要的资源文件打包好,百度云链接在下面 Proxyee-down最新版为2.54(2018.8.9更新) 最新版下载地址:链接 ...