2019HDU多校第七场 HDU6656 Kejin Player H 【期望递归】
2024-10-21 13:27:51
一、题目
二、分析
因为在当前等级$i$,如果升级失败可能会退回到原来的某一等级$x$,相当于就是失败的期望就是$E + (Sum[i-1] - Sum[x-1]) + a$,所以可以推导出当前期望的公式$$E = {a}\times{p} + {[E + (Sum[i-1] - Sum[x-1]) + a]}\times{(1 - p)}$$
这个公式是可以化简的,最终的得到$$E = \frac{(Sum[i-1] - Sum[x-1]) + a}{p} - (Sum[i-1] - Sum[x-1])$$
对于同余下的除法,直接用逆元就可以了,一定要注意可能溢出的地方及时取模。
三、AC代码
#include <bits/stdc++.h> using namespace std;
#define ll long long
#define Min(a,b) ((a)>(b)?(b):(a))
#define Max(a,b) ((a)>(b)?(a):(b))
const ll mod = 1e9 + 7;
const int maxn = 5e5 + 13;
ll E[maxn], Sum[maxn]; ll inv(ll a, ll m)
{
if(a == 1)
return 1;
return inv(m%a, m)*(m - m/a)%m;
} int main()
{
// freopen("input.txt", "r", stdin);
// freopen("out.txt", "w", stdout);
int T;
scanf("%d", &T);
while(T--)
{
E[1] = 0;
Sum[0] = 0;
int N, Q, qL, qR;
ll R, S, X, A;
scanf("%d%d", &N, &Q);
for(int i = 1; i <= N; i++)
{
scanf("%lld%lld%lld%lld", &R, &S, &X, &A);
ll deta = Sum[i-1] - Sum[X-1];
E[i] = (((deta + A) * S % mod * inv(R, mod) % mod)- deta + mod ) % mod;
Sum[i] = (Sum[i-1] + E[i])%mod;
// cout << i << " " << E[i] << " " << Sum[i] << endl;
}
for(int i = 1; i <= Q; i++)
{
scanf("%d%d", &qL, &qR);
printf("%lld\n", (Sum[qR - 1] - Sum[qL-1] + mod)%mod );
}
}
return 0;
} /*
1
3 2
1 1 1 2
1 2 1 3
1 3 3 4
1 4
3 4
*/
最新文章
- MySQL的数据模型
- My97DatePickerBeta 日历插件
- MVC中使用SignaIR入门教程
- ros使用rplidar hector_mapping建地图
- php利用smtp发送邮件
- MVC设计模式
- Oracle VirtualBox 模拟Android系统 素材
- 初识 python
- MVC之文件上传1
- Linux 启动过程的详细解释
- JavaScript实例技巧精选(14)—动态变化背景颜色
- 文件断点续传原理与实现—— ESFramework 通信框架4.0 进阶(12)
- tensorflow入门教程
- C# 打印 长字符串自动换行
- LinqPad的变量比较功能
- Fortinet Security Fabric
- C#委托、事件剖析(下)
- PLSQL_数据结构类型的解析(概念)
- 关于Cocos Creator用js脚本代码播放骨骼动画的步骤和注意事项
- 【BZOJ】1011: [HNOI2008]遥远的行星(近似)
热门文章
- 【python接口自动化】- PyMySQL数据连接
- 一个操作系统的实现sudo mount -o loop pm.img /mnt/floppy mount point /mnt/floppy does not exist losetup device is busy
- React Hooks: useMemo All In One
- TypeScript &; WebAssembly
- TypeScript Learning Paths
- React SSR in Action
- lua调用dll导出的函数
- [转]C++语言的历史和标准化
- 宝塔面板配置Let&#39;s Encrypt证书自动续签失效及解决方案
- 遇见ZooKeeper:初识