2018.10.31 NOIP训练 锻造(方程式期望入门题)(期望dp)
传送门
根据题目列出方程:
fi=pi∗(fi−1+fi−2)+(1−pi)∗(fi+1+fi)f_i=p_i*(f_{i-1}+f_{i-2})+(1-p_i)*(f_{i+1}+f_i)fi=pi∗(fi−1+fi−2)+(1−pi)∗(fi+1+fi)
但这会牵扯到iii之后的状态没法做。
因此考虑如果合成失败会变成一个等级为i−2i-2i−2的武器。
相当于消耗了一个等级为i−1i-1i−1的武器。
因此fi=pi∗(fi−1+fi−2)+(1−pi)∗(fi−1+fi)f_i=p_i*(f_{i-1}+f_{i-2})+(1-p_i)*(f_{i-1}+f_i)fi=pi∗(fi−1+fi−2)+(1−pi)∗(fi−1+fi)
然后移项:
pifi=fi−1+pi∗fi−2p_if_i=f_{i-1}+p_i*f_{i-2}pifi=fi−1+pi∗fi−2
所以fi=fi−1pi+fi−2f_i=\frac{f_{i-1}}{p_i}+f_{i-2}fi=pifi−1+fi−2
代码
2018.10.31 NOIP训练 锻造(方程式期望入门题)(期望dp)的更多相关文章
- 2018.10.26 NOIP训练 数数树(换根dp)
传送门 换根dpdpdp傻逼题好像不好码啊. 考虑直接把每一个二进制位拆开处理. 先dfsdfsdfs出每个点到1的异或距离. 然后分类讨论一波: 如果一个点如果当前二进制位到根节点异或距离为1,那么 ...
- 2018.10.15 NOIP训练 水流成河(换根dp)
传送门 换根dp入门题. 貌似李煜东的书上讲过? 不记得了. 先推出以1为根时的答案. 然后考虑向儿子转移. 我们记f[p]f[p]f[p]表示原树中以ppp为根的子树的答案. g[p]g[p]g[p ...
- 2018.10.15 NOIP训练 百事世界杯之旅(期望dp)
传送门 期望题. 其实跟dpdpdp关系并不大. 考虑f[i]f[i]f[i]表示已经凑出了iii个需要的次数. 显然有:f[i]=ni∗f[i]+nn−i∗f[i+1]+1f[i]=\frac {n ...
- 2018.12.31 NOIP训练 偶数个5(简单数论)
传送门 对于出题人zxyoizxyoizxyoi先%\%%为敬题目需要龟速乘差评. 题意简述:5e55e55e5组数据,给出n,请你求出所有n位数中有偶数个5的有多少,n≤1e18n\le1e18n≤ ...
- 2018.10.31 NOIP模拟 几串字符(数位dp+组合数学)
传送门 如果观察到性质其实也不是很难想. 然而考试的时候慌得一批只有心思写暴力233. 下面是几个很有用的性质: c0,1+1≥c1,0≥c0,1c_{0,1 }+1 ≥ c_{1,0} ≥ c_{0 ...
- 2018.12.31 NOIP训练 czy的后宫6(线性dp)
传送门 题意简述:给一个nnn个数的数列,你可以把它最多分成mmm段,求每段数之和的最大值的最小值,以及满足这个最小值的时候划分数列的方案数. 思路:第一个问题是二分经典问题,不妨设其答案为limli ...
- 2018.12.31 NOIP训练 czy的后宫5(树形dp)
传送门 题意:给一棵有根树,树有点权,最多选出mmm个点,如果要选一个点必须先选其祖先,问选出来的点权和最大值是多少. 直接背包转移就行了. 代码
- 2018.10.31 NOIP模拟 一些情报(倍增)
传送门 题目并不难(想) 其实就是用倍增维护几个树上信息. 也就这么几个: 子树内最长链及其后继点. 子树内次长链及其后继点. 子树内第三场链(也就是dzyodzyodzyo口中鬼畜的次次长链) 点i ...
- 2018.10.31 NOIP模拟 一串数字(数论+贪心)
传送门 把每一个数aaa质因数分解. 假设a=p1a1∗p2a2∗...∗pkaka=p_1^{a_1}*p_2^{a_2}*...*p_k^{a_k}a=p1a1∗p2a2∗...∗pkak ...
随机推荐
- leecode 978. Longest Turbulent Subarray(最长连续波动序列,DP or 滚动数组)
传送门:点我 978. Longest Turbulent Subarray A subarray A[i], A[i+1], ..., A[j] of A is said to be turbule ...
- 字符串 String 格式化 format
String str=String.format("Hi,%s", "王力"); 保留两位数的整数: String str=String.format(&quo ...
- OpenGL ES 2 for Android - A Quick Start Guide
英文原版,语法很简单,带书签,带实例,很好的书,从头到尾讲述OpenGL强烈推荐!~~~ 扫码时备注或说明中留下邮箱 付款后如未回复请至https://shop135452397.taobao.com ...
- [剑指Offer]25-合并两个排序链表
题目链接 https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337?tpId=13&tqId=11169&t ...
- springmvc控制器传可变路径
@RequestMapping("/clone{path}") public String cloneModules(HttpServletRequest req,@PathVar ...
- linux命令学习之:chmod
chmod命令用来变更文件或目录的权限.在Linux系统家族里,文件或目录权限的控制分别以读取R.写入W.执行X3种一般权限来区分,另有3种特殊权限可供运用.用户可以使用chmod指令去变更文件与目录 ...
- Bootstrap(4) 表单和图片
1.表单 基本格式,实现基本的表单样式 <form class="form-horizontal"> <div class="form-group&qu ...
- TabLayout+ViewPager的简单使用
1. build.gradle文件中加入 compile 'com.android.support:design:22.2.0' 2.写Xml文件,注意TabLayout的三个属性 app:tab ...
- python 使用内置方法读取注册表
#coding:utf-8 import _winreg key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER,r"键值") #获取该键的 ...
- python 面向对象编程 之 上下文管理协议
with open('path', 'r' ,encoding='utf-8') as f: 代码块 上述就叫做上线文管理协议,即with语句,为了让一个对象兼容with语句,必须在这个对象的类中声明 ...