当前位置: 首页 > news >正文

【数学】第十三届蓝桥杯省赛C++ A组/研究生组《爬树的甲壳虫》(C++)

【题目描述】

有一只甲壳虫想要爬上一棵高度为 n 的树,它一开始位于树根,高度为 0,当它尝试从高度 i−1 爬到高度为 i 的位置时有 Pi 的概率会掉回树根,求它从树根爬到树顶时,经过的时间的期望值是多少。

【输入格式】

输入第一行包含一个整数 n 表示树的高度。

接下来 n 行每行包含两个整数 xi,yi,用一个空格分隔,表示 Pi=xi / yi。

【输出格式】

输出一行包含一个整数表示答案,答案是一个有理数,请输出答案对质数 998244353 取模的结果。

其中有理数 a / b 对质数 P 取模的结果是整数 c 满足 0≤c<P 且 c⋅b≡a(modP)。

【数据范围】

对于 20% 的评测用例,n≤2,1≤xi<yi≤20;
对于 50% 的评测用例,n≤500,1≤xi<yi≤200;
对于所有评测用例,1≤n≤100000,1≤xi<yi≤10的9次方,为了保证不出现无解的情况,额外增加限制条件 yi−xi≠998244353(如不增加此条件,则可能出现无解情况,此为比赛原题考虑不周)。

【输入样例1】

1

2

【输出样例1】

2

【输入样例2】

3
1 2
3 5
7 11

【输出样例2】

623902744

【代码】

#include <iostream>
#include <cstring>
#include <algorithm>using namespace std;typedef long long LL;const int P = 998244353;int n;LL qmi(int a, int b)
{LL res = 1;while (b){if (b & 1) res = res * a % P;a = (LL)a * a % P;b >>= 1;}return res;
}int main()
{scanf("%d", &n);int res = 0;while (n -- ){int x, y;scanf("%d%d", &x, &y);res = (res + 1ll) * y % P * qmi(y - x, P - 2) % P;}printf("%d\n", res);return 0;
}
http://www.lryc.cn/news/320406.html

相关文章:

  • Java毕业设计 基于springboot vue招聘网站 招聘系统
  • Leetcode 1. 两数之和
  • 【elasticsearch实战】从零开始设计全站搜索引擎
  • 基于tcp协议的网络通信(基础echo版.多进程版,多线程版,线程池版),telnet命令
  • Ubuntu20系统安装完后没有WIFI
  • 计算机视觉——目标检测(R-CNN、Fast R-CNN、Faster R-CNN )
  • log4j2.xml配置文件不生效
  • QT信号与槽实现方式
  • Yarn面试重点
  • 高速口光口通信
  • python--剑指offer--15. 二进制中1的个数
  • uniapp h5 部署
  • 排序算法:快速排序(递归)
  • 蓝桥杯每日一题(BFS)
  • 【C语言】linux内核pci_save_state
  • 轻松打造完美原型:9款在线工具推荐
  • Vue3中Pinia状态管理库学习笔记
  • 共谋企业出海新篇章纷享销客荣获数字中国企业峰会“卓越成果奖”
  • 【MySQL】group_concat 函数和 locate 函数运用之找到每篇文章的主题
  • RedisCluster集群中的插槽为什么是16384个?
  • 一直出现问题,发现服务器磁盘空间已满导致,腾出服务器磁盘空间命令
  • 吴恩达机器学习笔记 二十三 倾斜数据集的误差指标 精确率 召回率 精确率与召回率的平衡 F1分数
  • 无人游艇的研发和开发对于多个领域具有重要
  • 在AI创业热潮下,如何抓住AI赚钱机会,实现人生逆袭
  • JETSON 配置并跑通 NanoDet
  • 突破编程_C++_C++11新特性(unordered_multimap)
  • 15.WEB渗透测试--Kali Linux(三)
  • Android-Framework pm list packages和pm install返回指定应用信息
  • CSS
  • 算法详解——选择排序和冒泡排序