牛客 197C 期望操作数
大意: 给定$x,q$, 每步操作$x$等概率变为$[x,q]$中任意一个数, 求变为$q$的期望操作数.
很容易可以得到$f(x,q)=\frac{\sum\limits_{i=x+1}^qf(i,q)+q-x+1}{q-x}$, 边界条件$f(q,q)=0$.
每次询问复杂度是$O(q)$的, 但是可以发现答案只与$x$和$q$的差有关, 所以预处理出$q=N-1$时的结果即可.
#include <iostream>
#include <cstdio>
#define REP(i,a,n) for(int i=a;i<=n;++i)
#define PER(i,a,n) for(int i=n;i>=a;--i)
using namespace std;
typedef long long ll;
const int P = 998244353; const int N = 1e7+10;
int dp[N], inv[N]; int main() {
inv[0]=inv[1]=1;
REP(i,2,N-1) inv[i]=(ll)inv[P%i]*(P-P/i)%P;
int sum = 0;
PER(i,0,N-2) {
dp[i] = (ll)(sum+N-i)*inv[N-1-i]%P;
(sum += dp[i]) %= P;
}
int t;
scanf("%d", &t);
while (t--) {
int x, q;
scanf("%d%d", &x, &q);
printf("%d\n",dp[N-1-q+x]);
}
}
牛客 197C 期望操作数的更多相关文章
- 牛客 109 C 操作数 (组合数学)
给定长度为n的数组a,定义一次操作为:1. 算出长度为n的数组s,使得si= (a[1] + a[2] + ... + a[i]) mod 1,000,000,007:2. 执行a = s:现在问k次 ...
- 牛客网多校赛第9场 E-Music Game【概率期望】【逆元】
链接:https://www.nowcoder.com/acm/contest/147/E 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524 ...
- 牛客多校第五场 F take 期望转化成单独事件概率(模板) 树状数组
链接:https://www.nowcoder.com/acm/contest/143/F来源:牛客网 Kanade has n boxes , the i-th box has p[i] proba ...
- 牛客练习赛46 C 华华跟奕奕玩游戏 (期望,概率)(详解)
链接:https://ac.nowcoder.com/acm/contest/894/C 来源:牛客网 华华跟奕奕玩游戏 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 524288K ...
- 牛客网第9场多校E(思维求期望)
链接:https://www.nowcoder.com/acm/contest/147/E 来源:牛客网 题目描述 Niuniu likes to play OSU! We simplify the ...
- 牛客OI周赛9-提高组题目记录
牛客OI周赛9-提高组题目记录 昨天晚上做了这一套比赛,觉得题目质量挺高,而且有一些非常有趣而且非常清奇的脑回路在里边,于是记录在此. T1: 扫雷 题目链接 设 \(f_i\) 表示扫到第 \(i\ ...
- 2018牛客网暑假ACM多校训练赛(第三场)I Expected Size of Random Convex Hull 计算几何,凸包,其他
原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-2018-Summer-Round3-I.html 题目传送门 - 2018牛客多校赛第三场 I ...
- 牛客网_Go语言相关练习_判断&选择题(6)
本文共34道题目 一.判断题 此题考查编码规范. 反射最常见的使用场景是做对象的序列化(serialization,有时候也叫Marshal & Unmarshal). 例如:Go语言标准库的 ...
- 牛客网练习赛23 F 托米的游戏
链接:https://www.nowcoder.com/acm/contest/156/F 来源:牛客网 题目描述 题目背景编不下去了 托米有一棵有根树 T, 树根为1,每轮他会在剩下的子树中等概率一 ...
随机推荐
- PHP 之文件上传类封装
一.前端代码 <!doctype html> <html lang="en"> <head> <meta charset="UT ...
- 访问redis集群提示连接超时的问题
上周在服务器通过docker部署了一个单机版redis集群,今天通过StackExchange.Redis访问的时候报了这个错: 提示我把超时时间设置一下,我去服务器上找到redis的配置文件,发现不 ...
- SQL-W3School-高级:SQL ALIAS(别名)
ylbtech-SQL-W3School-高级:SQL ALIAS(别名) 1.返回顶部 1. 通过使用 SQL,可以为列名称和表名称指定别名(Alias). SQL Alias 表的 SQL Ali ...
- Google Directions API 中路线编码解析
public List<Location> GetGeoPoints(string encoded) { List<Location> poly = new List<L ...
- object_detection faster-rcnn
(t20190518) luo@luo-All-Series:~/MyFile/TensorflowProject/Faster_RCNN/models/research$ (t20190518) l ...
- Server 2012使用Windows PowerShell cmdlet安装角色和角色服务功能
Server 2012使用Windows PowerShell cmdlet安装角色和角色服务功能 Windows Server 2012 安装 SQL server 2008 出现了如下错误: 解 ...
- 简单谈谈java中匿名内部类构造函数?
先看看下面的代码能不能编译通过: public static void main(String[] args) {List l1 = new ArrayList();List l2 = new Arr ...
- centos(linux)-Tomcat配置
1.在apache官网下载tomcat 2.解压缩:tar -zxvf apache-tomcat-7.0.73.tar.gz 注:是否在前面加上sudo根据自己的具体情况决定 3.配置环境变量 (1 ...
- 分布式消息通信之RabbitMQ Tutorials
目录 官网 1 Hello World! 1.1 生产者demo producer 1.2 消费者demo consumer 1.3 查看queue队列中的信息 页面查看,可看到有4条消息 命令查看 ...
- 41.进程池--Pool
进程池 方便创建,管理进程,单独进程的Process创建,需要手动开启,维护任务函数,以及释放回收 进程池不需要这么麻烦,进程提前创建好,未来在使用的时候,可以直接给与任务函数 某个进程池中的任务结束 ...