NC251500 coin

简介: NC251500 coin

链接:登录—专业IT笔试面试备考平台_牛客网

来源:牛客网

 

题目背景

假如我那时握住的不是硬币,而是 ...

题意简述

Rikka 和 Yuuta 在玩游戏,每一次他们会抛一枚硬币,正面向上的概率是 p,反面向上的概率是 1−p。若硬币掷出正面,那么这局 Rikka 获胜,否则 Yuuta 获胜。


在任意时刻,如果存在一个时间段,使得在该时间段内某个人比另个人多获胜 nnn 次,那么这个人赢得游戏,游戏结束。(例如 n=3,硬币掷出 反反正正反正正,在时刻 7 Rikka 获胜)


求出 Rikka 获胜的概率。

输入描述:

第一行一个整数 T,表示询问组数。


接下来 T 行,每行两个整数 n,p 表示一组询问。


输出描述:

输出 T行,每行一个整数表示答案在模 998244353 意义下的值,可以证明答案在模意义下存在。

示例1

输入

复制

2

233 634336464

59093912 743410448

输出

复制

60595366

392543410

备注:

T≤3×10^5,2≤n<9982443532,0≤p<998244353。

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=300001;
const ll mod=998244353;
ll qpow(ll a,ll b){
  ll ans=1;
  if(b==0)
  return 1;
  if(b%2)
  ans=a;
  ll t=qpow(a,b/2);
  return t*t%mod*ans%mod;
}
ll inv(ll a){
  return qpow(a,mod-2);
}
void solve(){
  ll n,p;
    cin>>n>>p;
    ll q=(mod+1-p)%mod;
    ll s=p*inv(q)%mod;
    s=inv(s);
    if(s==1){
        cout<<inv(2)<<'\n';
        return;
    }
    ll ans=n*qpow(s,n)%mod*(s-1)%mod*inv(qpow(s,n+1)-1)%mod*inv(qpow(s,n)-1)%mod;
    ll ans2=inv(qpow(s,n+1)-1)%mod;
    ans=(ans-ans2+mod)%mod;
    cout<<ans;
    cout<<'\n';
}
int main(){
  ios::sync_with_stdio(false);
  cin.tie(0);
  int t0;
  cin>>t0;
  for(int t=0;t<t0;t++){
    solve();
  }
}

目录
相关文章
一劳永逸的方法解决:LNK1168无法打开 xxx.exe 进行写入 报错问题
一劳永逸的方法解决:LNK1168无法打开 xxx.exe 进行写入 报错问题
1898 2
|
域名解析 网络协议 对象存储
阿里云 CDN 控制台演示:源站加速|学习笔记
快速学习阿里云 CDN 控制台演示:源站加速
阿里云 CDN 控制台演示:源站加速|学习笔记
|
编译器 开发工具 C#
使用MindOpt时常见的报错,以及对应的解决方法
使用MindOpt时常见的报错,以及对应的解决方法
|
机器学习/深度学习 应用服务中间件 Linux
API一键搭建智能时光相册,记录你的美
API时代,要搭建一个云相册,就相对来说简单很多,或者说一个开发人员就可以快速实现,并且还能具备智能分析识别、归类、搜索等功能齐全的智能云相册。
4288 0
|
12月前
|
监控 搜索推荐 API
亚马逊商品API接口:运用及收益
作为全球最大的电商平台之一,亚马逊不仅提供了丰富的商品选择,还通过其开放平台为开发者提供了多种API接口,特别是商品详情API接口。本文将深入探讨该接口的运用及其带来的商业机会和收益,包括提高用户体验、降低运营成本、增强市场竞争力和创新业务模式等方面。
260 7
|
10月前
|
存储 缓存 安全
分布式系统架构7:本地缓存
这是小卷关于分布式系统架构学习的第10篇文章,主要介绍本地缓存的基础理论。文章分析了引入缓存的利弊,解释了缓存对CPU和I/O压力的缓解作用,并讨论了缓存的吞吐量、命中率、淘汰策略等属性。同时,对比了几种常见的本地缓存工具(如ConcurrentHashMap、Ehcache、Guava Cache和Caffeine),详细介绍了它们的访问控制、淘汰策略及扩展功能。
223 6
|
缓存 前端开发 JavaScript
前端工程化:Webpack与Gulp的构建工具选择与配置优化
【10月更文挑战第27天】在现代前端开发中,构建工具的选择对项目的效率和可维护性至关重要。本文比较了Webpack和Gulp两个流行的构建工具,介绍了它们的特点和适用场景,并提供了配置优化的最佳实践。Webpack适合大型模块化项目,Gulp则适用于快速自动化构建流程。通过合理的配置优化,可以显著提升构建效率和性能。
213 2
|
并行计算 Ubuntu PyTorch
Xshell远程连接配置 Ubuntu 18.04.6 + Anaconda + CUDA + Cudnn + Pytorch(GPU+CPU)(上)
Xshell远程连接配置 Ubuntu 18.04.6 + Anaconda + CUDA + Cudnn + Pytorch(GPU+CPU)
652 0
|
小程序
Galacean Effects 2.0 带来了哪些新功能?
各位特效魔法师、创意小能手们,我们近期解锁了一系列超能力,或许会让你的创作如虎添翼,酷炫到飞起!✨🎉🎉
1054 1
|
XML 运维 监控
PowerShell实战:Get-Content命令使用详解
【2月更文挑战第12篇】 Get-Content 主要作用是获取路径指定位置的项(文本类文件)的内容,例如文件中的文本或函数的内容。 对于文件,内容一次读取一行,并返回对象的集合,每个对象表示一行内容。