题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6656

题意为从i级花费a元有p的概率升到i+1级,有1-p的概率降到x级(x<i),查询从L级升到R级的花费期望。

菜鸡才知道期望是有可加性的QAQ,即1-5的期望==1-2的期望+2-5的期望。

如果明确这一点就可以比较轻松的推出转移方程.....阿勒?

感觉和我往常见得有点不一样啊QAQ。

按照以往的思路,我会设dp[i]为i到n的期望,则转移方程为$dp[i]=p*dp[i+1]+(1-p)*dp[x[i]]+a[i]$

然后....就没有然后了,只能暴力跑高斯消元了。

可是按照以往的套路来说,不是会有很棒的化简方式使得式子可以直接退出来吗。

所以去巨佬们的博客学习一番后回来搞了搞。

大致的思路是这样的,先设f[i]表示从第i级到第i+1级的期望,dp[i]表示从第1级到第i级的期望,对于f[i] ,有p的概率交钱直接变成i+1,有(1-p)的概率回到x级,那么回到x级后想要升级到i+1,需要dp[i]-dp[x]升回到i级,再+f[i]到i+1级,则转移方程为$f[i]=p*a[i]+(1-p)*(dp[i]-dp[x[i]]+f[i]+a[i])$

涨姿势了QAQ

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<string>
 5 #include<algorithm>
 6 using namespace std;
 7 typedef long long ll;
 8 const int maxn = 5e5 + 10;
 9 const ll mod = 1e9 + 7;
10 const ll qpow(ll a, ll b) {
11     ll ans = 1;
12     while (b) {
13         if (b & 1)
14             ans = a * ans%mod;
15         a = a * a%mod;
16         b /= 2;
17     }
18     return ans;
19 }
20 ll r[maxn], s[maxn], x[maxn], a[maxn], dp[maxn];
21 int main() {
22     int t;
23     scanf("%d", &t);
24     while (t--) {
25         int n, q;
26         scanf("%d%d", &n, &q);
27         for (int i = 1; i <= n; i++)
28             scanf("%lld%lld%lld%lld", &r[i], &s[i], &x[i], &a[i]);
29         for (int i = 1; i <= n; i++) {
30             ll p = r[i] * qpow(s[i], mod - 2) % mod;
31             ll pp = qpow(p, mod - 2) % mod;
32             ll f = (a[i] + (1 + mod - p) % mod*(dp[i] + mod - dp[x[i]]) % mod) % mod*pp%mod;
33             dp[i + 1] = (dp[i] + f) % mod;
34         }
35         while (q--) {
36             int l, r;
37             scanf("%d%d", &l, &r);
38             printf("%lld\n", (dp[r] - dp[l] + mod) % mod);
39         }
40     }
41 }

转载于:https://www.cnblogs.com/sainsist/p/11396501.html

[2019杭电多校第七场][hdu6656]Kejin Player相关推荐

  1. 杭电多校第七场 1011 Kejin Player HDU(6656)

    杭电多校第七场 1011 Kejin Player 题意:给你N行,代表从i级有花费a[i]元的r[i]/s[i]的概率达到i+1级,剩下的概率中可能会到达x[i]级.然后询问从L级到R级的花费会是多 ...

  2. 2019杭电多校第7场 K Kejin Player HDU 6656(数学推导)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6656 题目大意:对于每一个等级,可以花ai元,有pi概率升级,如果升级失败就退到xi级,问从li级升到 ...

  3. 2019杭电多校 第七场 Kejin Player 6656(求期望值)

    2019杭电多校 第七场 Kejin Player 6656(求期望值) 题目 http://acm.hdu.edu.cn/showproblem.php?pid=6656 题意 给你n,q.表示有n ...

  4. 2019杭电多校第七场 HDU - 6656 Kejin Player 期望

    题目链接:https://vjudge.net/problem/HDU-6656 题解: 维护一个前缀sum[i] : 从1到 i 的期望 第 i 到达 i + 1是:ai + (1 - r[i] / ...

  5. 2019杭电多校第七场 HDU - 6656 Kejin Player——概率期望

    题意 总共有 $n$ 层楼,在第 $i$ 层花费 $a_i$ 的代价,有 $pi$ 的概率到 $i+1$ 层,否则到 $x_i$($x_i \leq 1$) 层.接下来有 $q$ 次询问,每次询问 $ ...

  6. 2019杭电多校第七场 Kejin Player HDU - 6656 (期望)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6656 题意:一种游戏,从i级升到i+1级,需要氪金a[i]RMB,有的概率成功,有1-的概率变成x[i ...

  7. 2019HDU多校第七场 HDU6656 Kejin Player H 【期望递归】

    一.题目 Kejin Player H 二.分析 因为在当前等级$i$,如果升级失败可能会退回到原来的某一等级$x$,相当于就是失败的期望就是$E + (Sum[i-1] - Sum[x-1]) + ...

  8. 2019杭电多校第9场1002 Rikka with Cake HDU6681

    2019杭电多校第9场1002 Rikka with Cake HDU6681 题意:给你若干个点按上下左右切割平面,最后问平面内有几块被切割开来. 解法1:红黑树+思维+贪心 A:根据欧拉定理可以得 ...

  9. 【2019.08.21】2019杭电多校第十场

    补题地址:http://acm.hdu.edu.cn/listproblem.php?vol=58 题号:6691-6701 1001: 1002: 1003:✅ 1004: 1005:✅ 1006: ...

  10. 2019 杭电多校第六场 题解

    比赛记录 注意随机数据 ,1-n排列这种,一般都有啥暴力重构之类的方法,期望重构次数很少之类的 1005也是这样,因为n^2但只有n个值有数,所以就可以n^2logn 题解 1001 Salty Fi ...

最新文章

  1. DVWA-暴力破解-对‘g0tmi1k’文章的学习笔记
  2. 【Openstack】实录手动部署Openstack Rocky 双节点(2)- Keystone
  3. java jpa更新数据_Java如何使用JPA更新实体对象?
  4. python埋点测试_测试一面(宇宙条)
  5. springboot2.0入门(helloworld)
  6. Android SDK 更新时修改hosts文件仍然无法更新,可试试这个方法……
  7. VPP电源控制(VPP Power)-- 由DC-DC变换集成电路MC34063组成
  8. AD导入原理图库PCB库文件 最强原理图PCB库
  9. 2021年软件测试工具总结——测试管理工具
  10. Java GUI+MySQL 银行管理系统初级(课程设计)
  11. 作业车间调度算法及其应用(一)
  12. 7-5 华氏度转摄氏度(四舍五入) (5分)
  13. matlab 安装coder工具包,matlab coder 工具箱使用教程
  14. 操作系统:作业调度算法--短作业优先
  15. html设置成电脑桌面背景,电脑桌面背景怎么更换 电脑桌面背景不能设置怎么办...
  16. STM32(CM3内核) 内存映射
  17. 个人怎么创建微信公众号?
  18. 鼠标处显示坐标 html,cesium的鼠标事件(最基础的显示鼠标位置坐标)
  19. WHM系列:WHM数据迁移(WHM→WHM)
  20. python3.8安装mayavi4.7.3

热门文章

  1. cygwin清屏技巧
  2. 精选 | 2018年4月R新包推荐
  3. android官方素材,android Studio 中文社区
  4. Win2008r2 由ESXi 转换到 HyperV的处理过程
  5. EventBus 发布/订阅 机制的 java 实现
  6. 线段树、前缀数组:HDU1591-Color the ball(区间更新、简单题)
  7. 《算法竞赛入门经典》习题及反思 -2
  8. Xcode6中自动布局autolayout和sizeclass的使用
  9. [Node.js] BDD和Mocha框架
  10. [大牛翻译系列]Hadoop(7)MapReduce:抽样(Sampling)