Noip前的大抱佛脚----动态规划
动态规划
序列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前的大抱佛脚----动态规划的更多相关文章
- Noip前的大抱佛脚----文章索引
Noip前的大抱佛脚----赛前任务 Noip前的大抱佛脚----考场配置 Noip前的大抱佛脚----数论 Noip前的大抱佛脚----图论 Noip前的大抱佛脚----动态规划 Noip前的大抱佛 ...
- Noip前的大抱佛脚----Noip真题复习
Noip前的大抱佛脚----Noip真题复习 Tags: Noip前的大抱佛脚 Noip2010 题目不难,但是三个半小时的话要写四道题还是需要码力,不过按照现在的实力应该不出意外可以AK的. 机器翻 ...
- Noip前的大抱佛脚----字符串
目录 字符串 经验 用FFT求解字符串匹配问题 两(多)串DP时状态合并 最长公共子序列转LIS 位运算最大值 挂链哈希 哈希处理回文串 树哈希 字符串模板库 KMP 最小循环表示 Mancher A ...
- Noip前的大抱佛脚----一些思路
目录 一些思路 序列 函数问题 网格图 删除和询问 乘法问题 顺序问题 最值问题 研究成果 数论分块套数论分块的复杂度 一些思路 Tags:Noip前的大抱佛脚 序列 线段树(当然还要有主席树啊!) ...
- Noip前的大抱佛脚----数论
目录 数论 知识点 Exgcd 逆元 gcd 欧拉函数\(\varphi(x)\) CRT&EXCRT BSGS&EXBSGS FFT/NTT/MTT/FWT 组合公式 斯特林数 卡塔 ...
- Noip前的大抱佛脚----图论
目录 图论 知识点 二分图相关 DFS找环 并查集维护二分图 二分图匹配的不可行边 最小生成树相关 最短路树 最短路相关 负环 多源最短路 差分约束系统 01最短路 k短路 网络流 zkw费用流 做题 ...
- Noip前的大抱佛脚----数据结构
目录 数据结构 知识点及其应用 线段树 神奇标记 标记不下放 并查集 维护二分图 维护后继位置 堆 可并堆的可持久化 dsu on tree 方式&原理 适用范围 单调队列 尺取合法区间 模板 ...
- Noip前的大抱佛脚----赛前任务
赛前任务 tags:任务清单 前言 现在xzy太弱了,而且他最近越来越弱了,天天被爆踩,天天被爆踩 题单不会在作业部落发布,所以可(yi)能(ding)会不及时更新 省选前的练习莫名其妙地成为了Noi ...
- Noip前的大抱佛脚----根号对数算法
根号算法 分块 数列分块入门九题(hzwer) 入门题1,2,3,4,5,7 问题:给一段区间打上标记后单点查询 解法:主要是每块维护一些标记,计算答案等,此类分块较为简单 注意:块大小一般为\(\s ...
随机推荐
- 2.MyBatis 动态SQL
动态 SQL MyBatis 的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦.拼接的时候要确保不能忘了必要的空格 ...
- 使用 CLI 创建 Azure VM 的自定义映像
自定义映像类似于应用商店映像,不同的是自定义映像的创建者是你自己. 自定义映像可用于启动配置,例如预加载应用程序.应用程序配置和其他 OS 配置. 在本教程中,你将创建自己的 Azure 虚拟机自定义 ...
- Ubuntu-18.04 下使用Nginx搭建高可用,高并发的asp.net core集群
一.实现前的准备 以下是实现简单负载均衡的思路,图中的服务器均为虚拟机 三台Linux服务器,一台用作Nginx负载均衡(192.168.254.139),另外两台用作Asp.Net Core应用程序 ...
- Semaphore-信号灯机制
我们创建一个可扩展大小的线程池,并且需要在线程池内同时让有限数目的线程并发运行时,就需要用到Semaphore(信号灯机制),Semaphore 通常用于限制可以访问某些资源(物理或逻辑的)的线程数目 ...
- [控件] 动态实时设置CAShapeLayer贝塞尔曲线的坐标点
动态实时设置CAShapeLayer贝塞尔曲线的坐标点 效果图: 源码: PathDirectionView.h 与 PathDirectionView.m // // PathDirectionVi ...
- [翻译] AFSoundManager
AFSoundManager iOS audio playing (both local and streaming) and recording made easy through a comple ...
- 解析苹果的官方例子LazyTableImages实现图片懒加载原理
解析苹果的官方例子LazyTableImages实现图片懒加载原理 首先在官网下载源码: https://developer.apple.com/library/ios/navigation/#sec ...
- VVeboImageView
VVeboImageView https://github.com/johnil/VVeboImageView A UIImageView to play gif with low memory. 一 ...
- django中的字段类型
from http://www.cnblogs.com/lhj588/archive/2012/05/24/2516040.html Django 通过 models 实现数据库的创建.修改.删除等操 ...
- Proxyee-down的下载与安装教程
源代码在:GitHub_proxyee-down 为了节约读者的时间,我把需要的资源文件打包好,百度云链接在下面 Proxyee-down最新版为2.54(2018.8.9更新) 最新版下载地址:链接 ...