hdu 6656 2019杭电多校第7场 期望题
设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场 期望题相关推荐
- 2019杭电多校 第七场 Kejin Player 6656(求期望值)
2019杭电多校 第七场 Kejin Player 6656(求期望值) 题目 http://acm.hdu.edu.cn/showproblem.php?pid=6656 题意 给你n,q.表示有n ...
- 2019杭电多校第9场1002 Rikka with Cake HDU6681
2019杭电多校第9场1002 Rikka with Cake HDU6681 题意:给你若干个点按上下左右切割平面,最后问平面内有几块被切割开来. 解法1:红黑树+思维+贪心 A:根据欧拉定理可以得 ...
- 2021杭电多校第八场补题
比赛传送门:Contest Problem List (hdu.edu.cn) 1006)GCD Game 题目翻译:爱丽丝和鲍勃正在玩游戏. 他们轮流操作.有n个数字,a1,a2,...,an.每次 ...
- 2019杭电多校第7场 K Kejin Player HDU 6656(数学推导)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6656 题目大意:对于每一个等级,可以花ai元,有pi概率升级,如果升级失败就退到xi级,问从li级升到 ...
- 2019杭电多校第七场 Kejin Player HDU - 6656 (期望)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6656 题意:一种游戏,从i级升到i+1级,需要氪金a[i]RMB,有的概率成功,有1-的概率变成x[i ...
- 2019杭电多校第七场 HDU - 6656 Kejin Player 期望
题目链接:https://vjudge.net/problem/HDU-6656 题解: 维护一个前缀sum[i] : 从1到 i 的期望 第 i 到达 i + 1是:ai + (1 - r[i] / ...
- 2019杭电多校第七场 HDU - 6656 Kejin Player——概率期望
题意 总共有 $n$ 层楼,在第 $i$ 层花费 $a_i$ 的代价,有 $pi$ 的概率到 $i+1$ 层,否则到 $x_i$($x_i \leq 1$) 层.接下来有 $q$ 次询问,每次询问 $ ...
- 2019 杭电 多校第3场 1006 Fansblog (HDU 6608)
题目链接 题解: 用威尔逊定理变换,然后求逆元. 代码: #include <bits/stdc++.h> using namespace std; typedef long long l ...
- hdu 6681 2019 杭电多校九1002 Rikka with Cake(扫描线+树状数组)
题意:给一个矩形,在矩形内部有很多射线,这些射线的起点不会碰到矩形边界,问这些射线把矩形分成了几部分 题解:分成的区域数等于线段交点数加一,推导还是看jls的题解把 单说求交点个数的问题,我的方法就是 ...
最新文章
- SQL Server 2008数据库,显示正在恢复,想把它删了结果删除不了
- Java代码判断数据库中某张表是否存在
- cookies丢失 同域名_后端设置Cookie前端跨域获取丢失问题(基于springboot实现)
- UVA 125 Numbering Paths
- 线程中消费者生产者的实例代码(synchronized关键字)
- 各个浏览器兼容性问题积累
- 考研 英语一 大作文-图画作文 (二)---第二段写作攻略
- matlab斑点噪声算法,粒子滤波算法中的噪声问题
- 利用EQSecure E盾预防流氓软体
- 短视频剪辑如何入门?短视频剪辑常用的配音软件
- 机顶盒宽带拨号失败服务器未响应,机顶盒详细错误代码.doc
- nvm-node版本控制
- Linux是什么?大牛十年Linux心得文档给你答案
- LoCCS专访:后量子密码技术让Hcash走得更远
- vue 动态获取的图片路径不显示_Vue 动态图片加载路径问题和解决方法
- redis源码分析 -- cs结构之服务器
- 计算机构应注意哪些问题,结构设计常见及应注意的问题
- PHP怎么做成Qq空间相册,qq空间如何上传本地视频 相片制作视频传到QQ空间
- 第一次坐地铁过程描述
- zoom 前台_Zoom Phone 电话会议快速入门指南