思路:

诶,bc全是1的情况会不会?
推一推发现是斐波那契数列。
大于1呢?
合成失败的那一部分,你合成了一个i-2,那你还想合成i,那需要i-1和i-2,而i-2已经有了,所以f[i]-f[i-2]就是这一部分的答案了。
最后化简式子得:
fi=fi−1p+fi−2f_i=\frac{f_{i-1}}{p}+f_{i-2}fi​=pfi−1​​+fi−2​
其中p是成功的概率。
此外,这题还需要线性求逆远和卡空间。

codecodecode

#include<iostream>
#include<cstdio>
#define ll long long
#define re registerusing namespace std;const int MAXN = 1e7 + 5;
const int mod = 998244353;int b[MAXN], c[MAXN], n, f[MAXN], p;
int inv[MAXN];void read_() {re int bx, by, cx, cy;scanf("%d%d", &n, &f[0]);ll k = (ll)f[0] % mod;f[0] = (int)k;scanf("%d%d%d%d%d", &bx, &by, &cx, &cy, &p);b[0] = by + 1, c[0] = cy + 1;for(re int i = 1; i < n; ++ i) {ll k1 =((ll)b[i - 1] * bx + (ll)by) % (ll)p + 1ll;ll k2 =((ll)c[i - 1] * cx + (ll)cy) % (ll)p + 1ll;  b[i] = (int)k1;c[i] = (int)k2;}
}int main() {freopen("forging.in", "r", stdin);freopen("forging.out", "w", stdout);read_();inv[0]=0ll, inv[1]=1ll;for(re int i = 2; i <= p + 1; ++ i) {ll k = ((ll)((ll)mod - (ll)mod / i * inv[mod % i] % mod + (ll)mod)) % (ll)mod;inv[i] = (int)k;}ll k = ((ll)((ll)f[0] * inv[min(c[0], b[0])] % mod * c[0] % mod + (ll)f[0])) % (ll)mod;f[1] = (int)k;for(re int i = 2; i <= n; ++ i) {ll k = ((ll)f[i - 1] * inv[min(c[i - 1], b[i - 2])] % mod * c[i - 1] % mod + (ll)f[i - 2]) % (ll)mod;f[i] = (int)k;}printf("%d", f[n]);return 0;
}

【集训DAY4】Forging【期望DP】相关推荐

  1. luogu P4745 [CERC2017]Gambling Guide(期望DP + 最短路实现)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 P4745 [CERC2017]Gambling Guide(期望DP + 最短路实现) Weblin ...

  2. [SCOI2008]奖励关(期望dp)

    你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关.在这个奖励关里,系统将依次随机抛出k次宝物,每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的宝物以后也不能再吃). 宝 ...

  3. 【bzoj4318】OSU! 期望dp

    题目描述 osu 是一款群众喜闻乐见的休闲软件.  我们可以把osu的规则简化与改编成以下的样子:  一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1个长度为n的0 ...

  4. 【loj6342】跳一跳 期望dp

    题目描述 一个人从 $1$ 开始向 $n$ 跳,在 $i$ 时会等概率跳到 $i,i+1,...,n$ 之一.求从 $1$ 跳到 $n$ 的期望步数. $n\le 10^7$ . 题解 期望dp傻逼题 ...

  5. 【高斯消元】兼 【期望dp】例题

    [总览] 高斯消元基本思想是将方程式的系数和常数化为矩阵,通过将矩阵通过行变换成为阶梯状(三角形),然后从小往上逐一求解. 如:$3X_1 + 2X_2 + 1X_3 = 3$ $           ...

  6. Luogu P3251 [JLOI2012]时间流逝 期望dp

    题面 题面 题解 期望\(dp\)好题! 今年\(ZJOI\)有讲过这题... 首先因为\(T\)只有\(50\),大力\(dfs\)后发现,可能的状态数最多只有\(20w\)左右,所以我们就可以大力 ...

  7. 【bzoj5197】[CERC2017]Gambling Guide 期望dp+堆优化Dijkstra

    题目描述 给定一张n个点,m条双向边的无向图. 你要从1号点走到n号点.当你位于x点时,你需要花1元钱,等概率随机地买到与x相邻的一个点的票,只有通过票才能走到其它点. 每当完成一次交易时,你可以选择 ...

  8. 【BZOJ】1076 [SCOI2008]奖励关 期望DP+状压DP

    [题意]n种宝物,k关游戏,每关游戏给出一种宝物,可捡可不捡.每种宝物有一个价值(有负数).每个宝物有前提宝物列表,必须在前面的关卡取得列表宝物才能捡起这个宝物,求期望收益.k<=100,n&l ...

  9. string (KMP+期望DP)

    Time Limit: 1000 ms   Memory Limit: 256 MB Description  给定一个由且仅由字符 'H' , 'T' 构成的字符串$S$. 给定一个最初为空的字符串 ...

  10. 概率期望题(期望 DP)做题记录

    概率期望题(期望 DP)做题记录 P3830 [SHOI2012]随机树 难点在于第二问:生成树的期望深度. 不 wei zhuo 捏,设 \(dp_{i,j}\) 表示已经有了 \(i\) 个叶子结 ...

最新文章

  1. linux sshd服务是什么意思,Linux中sshd命令起什么作用呢?
  2. 去伪存真:因果约束下的图神经网络泛化
  3. Effective Java之用私有构造器或者枚举类型强化Singleton属性(三)
  4. Less Css 教程
  5. 【渝粤题库】广东开放大学 静态网页技术 形成性考核
  6. 【ubuntu】ubuntu下用make编译程序报错找不到openssl/conf.h
  7. Shell awk文本处理,shell脚本编写
  8. 根据当前登录域账号 获取AD用户姓名和所在OU目录
  9. Java开发工程师,每个阶段需要掌握什么重点?
  10. Altium Designer 20查找指定元器件
  11. 漫画:从今天开始,我不再买书了!
  12. 在自己的网站上实现QQ授权登录
  13. Linux 下 Android NDK 编译 openssl
  14. 用计算机弹课间进行曲,课间进行曲(修改稿)
  15. 索尼发布新Bravia液晶电视 84英寸4K分辨率!
  16. 【LOJ3124】「CTS2019」氪金手游
  17. 你可以写出优质的个人简介,自媒体个人简介三要三不要,收藏学习
  18. EXCEL描述统计输出详解:标准误、置信度、偏度、峰度和JB检验
  19. 开发落网电台windows phone 8应用的计划(2)
  20. 正态分布下的最大似然估计

热门文章

  1. 基于51单片机的抢答器
  2. Verilog数字系统基础设计-扰码与解扰
  3. Anocanda3.0下载tensorflow2.3.0 GPU版本详细教程
  4. 学习 YOLO 多目标识别算法
  5. 合伙开水果店需要注意什么,开小型水果店需要注意什么
  6. 迪赛智慧数——柱状图(多色柱状图):近十年上榜中国最具幸福感城市次数
  7. php mysql 论坛 源码_LNMP架构的搭建(linux+nginx+mysql+php源码安装 )+Discuz论坛的搭建...
  8. 怎么给html页面添加网格线,如何在HTML中创建2×2网格表格
  9. 经纬恒润线控制动系统,助力新能源智能汽车发展
  10. 第四封信 / 海风啊为何总是带来哭泣