1009E Intercity Travelling 【数学期望】
题目:戳这里
题意:从0走到n,难度分别为a1~an,可以在任何地方休息,每次休息难度将重置为a1开始。求总难度的数学期望。
解题思路:
跟这题很像,利用期望的可加性,我们分析每个位置的状态,不管怎么休息位置1的难度永远是a1,因此其期望为a1*2^(n-1),其他点出现a1的话,说明上一个点绝对休息过,剩下的都与其无关,也就是2^(n-2),所有的统计起来,则a1的出现次数为2^(n-1)+(n-1)*2^(n-2)。同理求a2,a2绝对不会出现在位置1,而出现在位置2时,只会影响位置1,出现在其他点,会影响其前两个点,则a2的出现次数为2^(n-2)+(n-2)*2^(n-3),再推推a3,a4,基本可以推出这个公式E[i]=(2^(n-i)+(n-i)*2^(n-i-1))*a[i]。
注意这题卡时间,不要用快速幂。
附本人代码:
1 #include <bits/stdc++.h>
2 typedef long long ll;
3 const int maxn = 1e6+10;
4 const ll inf = 1e18;
5 const ll mod = 998244353;
6 using namespace std;
7 ll qmul(ll a, ll b) {
8 ll res = 0;
9 while(b) {
10 if(b&1) res = (res + a) % mod;
11 b>>=1;
12 a = (a + a) % mod;
13 }
14 return res;
15 }
16 ll qmod(ll a, ll b) {
17 ll res = 1;
18 while(b) {
19 if(b&1) res = qmul(res, a) % mod;
20 b>>=1;
21 a = qmul(a,a)%mod;
22 }
23 return res;
24 }
25 ll rec[maxn];
26 ll nu[maxn];
27 int main(){
28 ll n, m;
29 scanf("%lld", &n);
30 rec[0]=1ll;
31 for(ll i = 1; i <= n; ++i) {
32 rec[i] = qmul(2ll, rec[i-1]);
33 }
34 for(ll i = 1; i <= n; ++i) {
35 scanf("%lld", nu+i);
36 }
37 ll ans = 0;
38 for(ll i = 1; i <= n; ++i) {
39 ans = (ans + qmul(nu[i], rec[n-i] + qmul(n-i, rec[n-i-1ll]))) %mod;
40 }
41 printf("%lld\n", ans);
42 return 0;
43 }
1009E Intercity Travelling 【数学期望】的更多相关文章
- Codeforces 1009E Intercity Travelling | 概率与期望
题目链接 题目大意: 一个人要从$A$地前往$B$地,两地相距$N$千米,$A$地在第$0$千米处,$B$地在第$N$千米处. 从$A$地开始,每隔$1$千米都有$\dfrac{1}{2}$的概率拥有 ...
- CodeForces - 1009E Intercity Travelling
题面在这里! 可以发现全是求和,直接拆开算贡献就好了 #include<bits/stdc++.h> #define ll long long using namespace std; c ...
- Codeforces 1009 E. Intercity Travelling(计数)
1009 E. Intercity Travelling 题意:一段路n个点,走i千米有对应的a[i]疲劳值.但是可以选择在除终点外的其余n-1个点休息,则下一个点开始,疲劳值从a[1]开始累加.休息 ...
- Codeforces D. Intercity Travelling(区间组合)
题目描述: D. Intercity Travelling time limit per test 1.5 seconds memory limit per test 256 megabytes in ...
- [BZOJ 3143][HNOI2013]游走(数学期望)
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3143 分析: 易得如果知道了每条边经过的数学期望,那就可以贪心着按每条边的期望的大小赋 ...
- Codeforces Round #259 (Div. 2) C - Little Pony and Expected Maximum (数学期望)
题目链接 题意 : 一个m面的骰子,掷n次,问得到最大值的期望. 思路 : 数学期望,离散时的公式是E(X) = X1*p(X1) + X2*p(X2) + …… + Xn*p(Xn) p(xi)的是 ...
- 数学期望和概率DP题目泛做(为了对应AD的课件)
题1: Uva 1636 Headshot 题目大意: 给出一个000111序列,注意实际上是环状的.问是0出现的概率大,还是当前是0,下一个还是0的概率大. 问题比较简单,注意比较大小: A/C & ...
- [2013山东ACM]省赛 The number of steps (可能DP,数学期望)
The number of steps nid=24#time" style="padding-bottom:0px; margin:0px; padding-left:0px; ...
- 【BZOJ2134】单位错选(数学期望,动态规划)
[BZOJ2134]单位错选(数学期望,动态规划) 题面 BZOJ 题解 单独考虑相邻的两道题目的概率就好了 没了呀.. #include<iostream> #include<cs ...
随机推荐
- Doris
Doris 基本概念 Doris 是基于 MPP 架构的交互式 SQL 数据仓库,主要用于解决近实时的报表和多维分析. Doris 分成两部分 FE 和 BE ,FE 负责存储以及维护集群元数据.接收 ...
- Navicat linux 官方最新版安装破解
我们直接去官网下载linux版navicat 下载好之后执行命令打开软件 chmod +x navicat15-premium-cs.AppImage ./navicat15-premium-cs.A ...
- CUDA 介绍
1. 介绍 1.1 GPU vs. CPU GPU 使用更多的晶体管进行数据处理,而不是数据缓存和流控制,因此可以提供高度的并行计算. GPU 可以通过计算来隐藏内存访问延迟,而不是依赖于大量的数据缓 ...
- Map类型数据导出Excel--poi
https://blog.csdn.net/KevinChen2019/article/details/101064790 <dependency> <groupId>org. ...
- GDB 简单学习
一般来说,GDB主要帮忙你完成下面四个方面的功能: 1.启动你的程序,可以按照你的自定义的要求随心所欲的运行程序. 2.可让被调试的程序在你所指定的调置的断点处停住.(断点可以是条 ...
- 拓扑排序(topo sort)之 最大食物链计数( 洛谷P4017)
前言: 复习复习拓扑排序,自己把自己弄没了/kk 题目传送门 简化题意: 在一个DAG中,求从所有入度为0的点到所有出度为0的点路径的条数 md理解错题意把自己卡了半天,生物学的好的就可以直接理解为求 ...
- 一:优化Docker中的Spring Boot应用:单层镜像方法
优化Docker中的Spring Boot应用:单层镜像方法 1.Docker关键概念 2.镜像层内容很重要 3.镜像层影响部署 4.Docker中的Spring Boot应用 5.单层方法 5.1 ...
- (十三)整合 SpringSecurity 框架,实现用户权限管理
整合 SpringSecurity 框架,实现用户权限管理 1.Security简介 1.1 基础概念 1.2 核心API解读 2.SpringBoot整合SpringSecurity 2.1 流程描 ...
- log4cplus安装测试
先介绍一下它的基本要素. Layouts :布局器,控制输出消息的格式. Appenders :挂接器,与布局器紧密配合,将特定格式的消息输出到所挂接的设备终端 (如屏幕,文件等等). Logge ...
- Leetcode LRU缓存,数组+结构体实现
一.算法思路 LRUCache类有以下函数和变量: LRUCache(int capacity): capacity是当前对象能够存储的键值对(key,value)最大个数. int get(int ...