12.9省选训练总结
来源:互联网 发布:1962年中印战争知乎 编辑:程序博客网 时间:2024/06/05 19:23
目录
dp的优化
dp的优化分为这么几大类:
1.数据结构优化
2.决策单调性的优化
3.斜率优化
4.四边形不等式优化
5.矩阵快速幂优化
数据结构优化:
针对
单调队列:
形如
例题:
滑窗
找[l,r]的max。
单调队列的裸题,每次先入队,再查答案。
完全背包问题
这个可以做到
想办法把其分开,假设
HDU 3401
设dp[i][j]表示第i天有j个股票的最值,然后分别可以得到一些转移,至于优化,我们以买股票为例,
HDU 2490
Dp[i][j]表示在i行j列的答案,转移是
线段树,树状数组
雪菜为了能让冬马参加轻音乐同好会,瞒着春希,和冬马见面。为了增进感情,雪菜拉着还没缓过神来的冬马进了游戏厅……游戏要求两名玩家在排成一排的n个石头上跳跃前进,每个石头有一个高度,玩家只能向右跳,并且不能跳向比自己所在位置的石头矮的石头。一个石头在一个玩家跳离后就会消失,并且两个玩家不能同时站在同一个石头上。游戏分数为两个玩家站过的石头的总数。游戏起始,两名玩家都可以任选一个石头作为开始位置(当然不能相同)。由于冬马是挂科专家,雪菜又只有英语好,所以她们两人想请你帮助他们,怎么才能让分数最高。
将一个由N个非负数组a[i]成的序列划分成若干段,要求每段数字的和不超过M,求【每段的最大值】的和 的最小的划分方法,输出这个最小的和。
决策单调性优化:
所谓决策单调性,就是
那么怎么判断是决策点单增呢,就要满足四边形不等式
例题
Bzoj 打字
设dp[i]为i的答案,设前缀数组为
那么可以证明这个满足四边形不等式,所以就可以用了
虽然大多数决策单调性的题也可以用斜率优化,但是也有不能的,比如下面这道:
Noi 2009
,不是平方,就用不了斜率优化(要是能用,那你怎么展开),但是还是有决策单调性,所以仍然可做。
。
斜率优化:
针对
例题:
还是之前那道打字题。
由
维护的步骤是:
1.去掉头部不符合的解。
2.算出
3.加入
去掉头部不符合的解的方法是判断斜率,当然也可以直接算。
加入
通常的题,可以用斜率优化的话,代价是平方。而且大多数决策单调性的题也可以用斜率优化。
例题:
HDU 2993
这个就很裸的维护一个凸包。
Bzoj玩具装箱
设
四边形不等式:
如果转移是:
如果对于
如果对于
可以形象理解为两个交错区间的
这个四边形不等式有什么作用呢,我们可以证明,如果满足四边形不等式,那么设
例题:
用数轴描述一条高速公路,有V个村庄,每一个村庄坐落在数轴的某个点上,需要选择P个村庄在其中建立邮局,要求每个村庄到最近邮局的距离和最小。
我们设
矩阵快速幂优化:
主要是优化线性的递推,而且没有
例题:
51nod 1033
明显的插头状压
NOI 07年
那么如果要联通,只用
另:矩阵乘法的优化:
就是可以证明好像没什么用)。
总结:
对于
1)如果转移可以写成完全分开的部分,可以用单调队列。
2)如果是
3)如果有决策单调性(考试时可以打表证明),就二分。
4)如果是
5)对于类似区间
6)线性递推式用矩阵乘法。
- 12.9省选训练总结
- 12.1 省选训练总结
- 12.2 省选训练总结
- 12.15 省选训练总结
- 12.16省选训练总结
- 12.9 省选训练总结3(2) DP的优化
- 12.8 省选训练总结3(1) DP
- 12.15 省选训练总结4 图论算法
- 训练总结
- 训练总结
- 训练总结
- 训练总结
- 训练总结
- 训练总结
- 2015-08 省赛模拟训练总结
- 2016省赛第一次组队训练总结
- 11.24-11.25 省选训练总结1 线段树相关/CDQ/整体二分
- 12.1 省选训练总结2(1) 点分治/平衡树
- 22. Generate Parentheses
- 新版vue-init 脚手架去除dev-server.js问题
- Intellij IDEA中Spring配置aop增强事务 出现BeanCreationException异常处理方法
- 支持需求追踪的语义模型
- 形式为a^i b^j c^k的子序列数量-LintCode
- 12.9省选训练总结
- java的会话管理:Cookie和Session
- 使用JS--->2048游戏项目(一)
- 2017-12-10杭电OJ2017《字符串统计》
- 最小编辑代价 动态规划
- 类型转换
- 【技术重温】html之重点(四)
- Tensorflow , MNIST 识别你自己手写的数字
- 关于“The constructor ArrayAdapter(new View.OnClickListener(){}, int, String[]) is undefined”错误提示的解决办法