设f[i]为从i升级到i+1期望需要的金钱,由于每级都是能倒退或者升级到i+1,所以询问从l,r的期望金钱可以直接前缀和,那么推导每一级升级需要的期望钱也可以用前缀和推导

设sum[i]=f[1]+f[2]....f[i] ,那么从 l 升级到 r 就是sum[r-1]-sum[l-1]。

对于f[i] ,有p的概率交钱直接变成i+1,有(1-p)的概率回到x级,那么回到x级后想要升级到i+1,需要sum[i-1]-sum[x-1]升回到i级,再+f[i]到i+1级

所以可以列出方程  f[i]=p*a[i]+(1-p)*(sum[i-1]-sum[x-1]+f[i]+a[i])

然后对每个f[i]解这个方程就行了。

#include<bits/stdc++.h>
#define maxl 500010
using namespace std;const int mod=1e9+7;int n,q;
long long r[maxl],s[maxl],x[maxl],a[maxl];
long long f[maxl],sum[maxl];inline long long qp(long long a,long long b)
{long long ans=1,cnt=a;while(b){if(b&1)ans=ans*cnt%mod;cnt=cnt*cnt%mod;b>>=1;}return ans;
}inline void prework()
{scanf("%d%d",&n,&q);for(int i=1;i<=n;i++)scanf("%lld%lld%lld%lld",&r[i],&s[i],&x[i],&a[i]);
}inline void mainwork()
{long long tmp,ss;for(int i=1;i<=n;i++){tmp=((s[i]-r[i])%mod+mod)%mod;ss=((sum[i-1]-sum[x[i]-1])%mod+mod)%mod;ss=(a[i]+ss)%mod;tmp=tmp*ss%mod;tmp=tmp*qp(r[i],mod-2)%mod;f[i]=(a[i]+tmp)%mod;sum[i]=(sum[i-1]+f[i])%mod;}
}inline void print()
{int l,r;long long ans;for(int i=1;i<=q;i++){scanf("%d%d",&l,&r);ans=((sum[r-1]-sum[l-1])%mod+mod)%mod;printf("%lld\n",ans);}
}int main()
{int t;scanf("%d",&t);for(int i=1;i<=t;i++){prework();mainwork();print();}return 0;
}

hdu 6656 2019杭电多校第7场 期望题相关推荐

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

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

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

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

  3. 2021杭电多校第八场补题

    比赛传送门:Contest Problem List (hdu.edu.cn) 1006)GCD Game 题目翻译:爱丽丝和鲍勃正在玩游戏. 他们轮流操作.有n个数字,a1,a2,...,an.每次 ...

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

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

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

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

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

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

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

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

  8. 2019 杭电 多校第3场 1006 Fansblog (HDU 6608)

    题目链接 题解: 用威尔逊定理变换,然后求逆元. 代码: #include <bits/stdc++.h> using namespace std; typedef long long l ...

  9. hdu 6681 2019 杭电多校九1002 Rikka with Cake(扫描线+树状数组)

    题意:给一个矩形,在矩形内部有很多射线,这些射线的起点不会碰到矩形边界,问这些射线把矩形分成了几部分 题解:分成的区域数等于线段交点数加一,推导还是看jls的题解把 单说求交点个数的问题,我的方法就是 ...

最新文章

  1. SQL Server 2008数据库,显示正在恢复,想把它删了结果删除不了
  2. Java代码判断数据库中某张表是否存在
  3. cookies丢失 同域名_后端设置Cookie前端跨域获取丢失问题(基于springboot实现)
  4. UVA 125 Numbering Paths
  5. 线程中消费者生产者的实例代码(synchronized关键字)
  6. 各个浏览器兼容性问题积累
  7. 考研 英语一 大作文-图画作文 (二)---第二段写作攻略
  8. matlab斑点噪声算法,粒子滤波算法中的噪声问题
  9. 利用EQSecure E盾预防流氓软体
  10. 短视频剪辑如何入门?短视频剪辑常用的配音软件
  11. 机顶盒宽带拨号失败服务器未响应,机顶盒详细错误代码.doc
  12. nvm-node版本控制
  13. Linux是什么?大牛十年Linux心得文档给你答案
  14. LoCCS专访:后量子密码技术让Hcash走得更远
  15. vue 动态获取的图片路径不显示_Vue 动态图片加载路径问题和解决方法
  16. redis源码分析 -- cs结构之服务器
  17. 计算机构应注意哪些问题,结构设计常见及应注意的问题
  18. PHP怎么做成Qq空间相册,qq空间如何上传本地视频 相片制作视频传到QQ空间
  19. 第一次坐地铁过程描述
  20. zoom 前台_Zoom Phone 电话会议快速入门指南

热门文章

  1. mysql集群重启失败_Mysql集群重启失败
  2. iis rewrite 配置 php,IIS7.5安装禅道并开启Rewrite功能配置
  3. Simulink导出FMU方法
  4. 计算机网络应用底纹怎么弄,Word文档如何设置字符底纹?
  5. 21种情况下千万别喝茶水
  6. 程序股票交易接口怎么使用?
  7. 因对某产品的一丝质疑而到被洗脑式怼,引起对于社交电商的一丝看法
  8. [附源码]java毕业设计网络身份认证技术及方法
  9. 微生物组项目设计四:生物学重复及样本信息收集
  10. 老友记第一季台词打印_老友记台词第一季 老友记第一季台词