杭电多校第七场 1011 Kejin Player

题意:给你N行,代表从i级有花费a[i]元的r[i]/s[i]的概率达到i+1级,剩下的概率中可能会到达x[i]级。然后询问从L级到R级的花费会是多少。

闲话:这场也是真自闭了,开始先去看fianl exam去了,然后疯狂自闭近两小时,最后看最后一题A了很多人就去看看了,开始想线段树+概率DP,百度了很久学习这个东西,然后突然发现其实递推就可以了,类似前缀和,然后经过一系列过程,过了。我和我的队友接着自闭在1001。。。。。

题解:递推。
A:关键公式:f[i] = f[i-1] +a[i] +(1-p)*(f[i] - f[x])
B:公式意义:f[i]代表了从第一级到第i级的花费,那么转移公式,f[i]为上一次的花费f[i-1]+a[i],即充钱后成功升级,然后(1-p)*(f[i] - f[x]),升级失败,那么要升级到i级就要从x级升级到i级,然后花费就是f[i]-f[x]然后乘上概率,最后都加上就是式子了。
C:最后解方程把f[i]都移动到左边,就可以递推了。

#include<cstdio>
#include<string>
#include<algorithm>
#include<iostream>
#include<string.h>
#define inv(p) pown(p, mo - 2)
using namespace std;
const int mx = 5e5 + 7;
typedef long  long ll;
const ll mo = 1e9 + 7;
ll n, q;
ll r[mx], s[mx], x[mx], a[mx], f[mx];
ll pown(ll x, ll n) {ll res = 1;while (n > 0) {if (n % 2 == 1) {res = (res*x) % mo;res %= mo;}x = x * x%mo;n >>= 1;}return res;
}
int main() {int t;scanf("%d", &t);while (t--) {scanf("%lld%lld", &n, &q);f[1] = 0;memset(f, 0, sizeof(f));for (int i = 1; i <= n; i++) {scanf("%lld%lld%lld%lld", &r[i], &s[i], &x[i], &a[i]);}for (int i = 1; i <= n ; i++) {f[i + 1] = (s[i] * (f[i] + a[i] - f[x[i]]+mo) % mo*inv(r[i]) % mo + f[x[i]] % mo) % mo;f[i + 1] %= mo;}for (int i = 1; i <= q; i++) {ll L, R;scanf("%lld%lld", &L, &R);printf("%lld\n", (f[R] - f[L] + mo) % mo);}}return 0;
}

杭电多校第七场 1011 Kejin Player HDU(6656)相关推荐

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

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

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

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

  3. [枚举]Stormwind 2022杭电多校第8场 1011

    Problem Description \space \space  "So, people of Stormwind! Let us unite this day. Let us rene ...

  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. 杭电多校第六场个人补题6 7 9 10 12

    杭电多校第六场个人补题6 7 9 10 12 6 题意 给定一棵有n结点的树,点权为1~n,求对所有结点子树的mex操作和的最大值 思路 其实就是从最底部开始网上找,由于0是唯一的一个,所欲最好给在最 ...

  9. 2022杭电多校第八场题解

    2022杭电多校第八场 Theramore(思维) 题意 给定一个01字符串,每次可以将一个奇数长度的区间翻转,求操作后字典序最小的字符串. 分析 翻转奇数长度的区间,元素位置的奇偶性不变,统计奇数位 ...

最新文章

  1. 国信优易首席科学家周涛:大数据的商业应用
  2. MyEclipse 快捷键1(CTRL)
  3. javascript 常用校验代码 2
  4. Fedora Core 4配置本地yum源
  5. 设计模式之Future模式——提交任务后立即得到一个Future对象,后面利用该对象得到具体的执行结果。加上回调功能,任务执行结束通知调用者或直接回调相应方法
  6. iOS逆向之深入解析App签名的双向验证机制和原理
  7. 真实项目中 ThreadLocal 的妙用
  8. Codeforces Round #701 (Div. 2) C. Floor and Mod 数学分块
  9. C语言 字符串大小写转换
  10. 【数据结构与算法】内部排序之一:插入排序和希尔排序的N中实现(不断优化,附完整源码)...
  11. openapi and light-4j
  12. 【Java基础-3】吃透Java IO:字节流、字符流、缓冲流
  13. C语言转义字符及注意点
  14. 【PSO三维路径规划】基于matlab粒子群算法融合鸡群算法多无人机三维路径规划【含Matlab源码 1792期】
  15. 【Axure视频教程】用中继器制作调查问卷
  16. html5中心开班信息,思途2103UIHTML5开班——新开始,新收获
  17. 第一届世界区块链大会·三点钟峰会(W.B.C)在澳门开幕 万人峰会大咖云集明星嘉年华
  18. 电流镜中cascode效应的学习笔记
  19. 怎么在网上赚钱?这几个副业也许会适合你
  20. vue 利用element的Table 表格实现自制的穿梭框(可以高度自定义)

热门文章

  1. 一杯茶,一包烟,一个环境配一天
  2. java 内存读写文件_Java的文件读写操作
  3. 在使用计算机时 若直接通过,在使用计算机时,若直接通过断电的方式来关闭机器,会存在什么问题,下列说法不正确的是_______...
  4. Apollo 星火计划踩坑记录 dreamview启动报错“No such file or directory: ‘ping‘: ‘ping‘”
  5. 腾讯云星星海SA2云服务器优惠购买指南
  6. Java面试题(自己不会的查大佬的贴,持续记录中)
  7. 社区计算机义务维修策划书,义务维修电脑策划书.doc
  8. memset, fill 对bool,int 赋值的效率
  9. AI笔记: 数学基础之直线、圆和方程
  10. Jenkins启动报错:Jenkins requires Java versions [8, 11] but you are running with Java 13 from xx/xx/xx