2018.10.14 NOIP训练 猜数游戏(决策单调性优化dp)
传送门
一道神奇的dp题。
这题的决策单调性优化跟普通的不同。
首先发现这道题只跟r−lr-lr−l有关。
然后定义状态f[i][j]f[i][j]f[i][j]表示猜范围为[L,L+i−1][L,L+i-1][L,L+i−1]的数有jjj次报警机会所需的最小代价。
那么有:
f[i][j]=minf[i][j]=minf[i][j]=min{max(f[k][j],f[i−k][j−1]+1)max(f[k][j],f[i-k][j-1]+1)max(f[k][j],f[i−k][j−1]+1)},然后打表可以发现对于同一个jjj,kkk随着iii单增
然后就做完了。
代码
2018.10.14 NOIP训练 猜数游戏(决策单调性优化dp)的更多相关文章
- 2018.10.14 NOIP训练 直线(二分答案+st表+切比雪夫距离转化)
传送门 二分答案好题. 这已经是当年普及组模拟时挖的坑了233. 这道题还是很不错的. 考虑把坐标系转个45度再操作. 为了不爆精度可以直接转切比雪夫距离. 然后就直接二分答案. 其中竖线就按二分的答 ...
- 2018.10.14 NOIP训练 圣诞树(简单dp)
传送门 sbDP题. 曾经一直TLE不知道为什么. 这次发现输入有坑233. 代码
- 2018.10.15 NOIP训练 水流成河(换根dp)
传送门 换根dp入门题. 貌似李煜东的书上讲过? 不记得了. 先推出以1为根时的答案. 然后考虑向儿子转移. 我们记f[p]f[p]f[p]表示原树中以ppp为根的子树的答案. g[p]g[p]g[p ...
- 2018.10.19 NOIP模拟 硬币(矩阵快速幂优化dp)
传送门 不得不说神仙出题人DZYODZYODZYO出的题是真的妙. f[i][j][k]f[i][j][k]f[i][j][k]表示选的硬币最大面值为iii最小面值不小于jjj,总面值为kkk时的选法 ...
- 2018.10.26 NOIP训练 数数树(换根dp)
传送门 换根dpdpdp傻逼题好像不好码啊. 考虑直接把每一个二进制位拆开处理. 先dfsdfsdfs出每个点到1的异或距离. 然后分类讨论一波: 如果一个点如果当前二进制位到根节点异或距离为1,那么 ...
- 2018.10.19 NOIP训练 游戏问题(分组背包)
传送门 分组背包经典问题. 令f[i][j]f[i][j]f[i][j]表示前iii组花费为jjj的最优值. g[i][j]g[i][j]g[i][j]表示前iii组,第iii组已经支付了平台费用的最 ...
- 2018.11.07 NOIP训练 lzy的游戏(01背包)
传送门 考虑对于每次最后全部选完之后剩下的牌的集合都对应着一种构造方法. 一个更接地气的说法: 设消耗的牌数为ttt,如果使用的牌的lll值之和也为ttt,则对应着一种构造方式让这种情形成立. 于是做 ...
- 2018.10.23 NOIP训练 Leo的组合数问题(组合数学+莫队)
传送门 好题. 考察了莫队和组合数学两个知识板块. 首先需要推出单次已知n,mn,mn,m的答案的式子. 我们令f[i]f[i]f[i]表示当前最大值为第iii个数的方案数. 显然iii之后的数都是单 ...
- 2018.10.19 NOIP训练 变化的序列(线性dp)
传送门 f[i][j]f[i][j]f[i][j]表示后iii个对答案贡献有jjj个a的方案数. 可以发现最后a,ba,ba,b的总个数一定是n∗(n−1)/2n*(n-1)/2n∗(n−1)/2 因 ...
随机推荐
- CUDA入门
CUDA入门 鉴于自己的毕设需要使用GPU CUDA这项技术,想找一本入门的教材,选择了Jason Sanders等所著的书<CUDA By Example an Introduction to ...
- leetcode977
public class Solution { public int[] SortedSquares(int[] A) { return A.Select(x => x * x).ToList( ...
- Spring Colud 学习
转自: http://blog.csdn.net/forezp/article/details/70148833#t0
- Python之从头开始建立项目流程
一,需求是在桌面建立一个名字为美妆的项目 1)cd desktop 2)mkdir meizhuang_server 3)安装虚拟环境 要在meizhuang_server文件夹下 pipenv - ...
- Java并发知识(2)
1. 什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classes)? 原子操作是指一个不受其他操作影响的操作任务单元.原子操作是在多线程环境下避免数据不一致 ...
- linux——DNS服务器配置
讲课,请不要在课堂上查找文件,浏览器搜索,会感觉你很不上心,玩听众,一定提前做很多遍,模拟很多遍: 演讲,请务必准备好材料,考虑听众的感受,一定不要让外行人云里雾里,听不懂你在讲什么,那就尴尬了, D ...
- asp.net core in centos
CentOS 7部署ASP.NET Core应用程序 看了几篇大牛写的关于Linux部署ASP.NET Core程序的文章,今天来实战演练一下.2017年最后一个工作日,提前预祝大家伙元旦快乐.不 ...
- c# 7 vs2017 tuple
var unnamed = (42, "The meaning of life"); var anonymous = (16, "a perfect square& ...
- 在hadoop运行tensor flow
http://www.infoq.com/cn/articles/deeplearning-tensorflow-casestudy http://www.tuicool.com/articles/a ...
- 疯狂JAVA——第五章 面向对象(上)
5.1类和对象 构造器是一个类创建对象的根本途径,如果一个类没有构造器,这个类通常无法创建实例.通过new关键字来调用构造器,从而返回该类的实例. 类名:每个单词首字母大写,其他字母小写,单词之间不要 ...