考虑算每一个位置在所有情况的期望值乘以全排列似乎就是答案.

那么对于 $i$,如果要由 $j$ 来贡献的话就要满足 $j$ 在 $i....j-1$ 之前先拿.

而在拿 $j$ 时,先于 $i...j-1$ 的概率就是 $\frac{1}{|j-i|+1}$

直接对所有的 $j$ 加和,然后乘以个概率即可.

code:

#include <bits/stdc++.h>
#define LL long long
#define N 100005
#define setIO(s) freopen(s".in","r",stdin)
using namespace std;
const LL mod=1000000007;
LL a[N],n,inv[N],sum[N];
LL fac(int p)
{
LL ans=1ll;
for(int i=2;i<=n;++i) ans=ans*1ll*i%mod;
return ans;
}
int main()
{
// setIO("input");
int i,j;
scanf("%d",&n);
for(i=1;i<=n;++i) scanf("%lld",&a[i]);
sum[1]=inv[1]=1ll;
for(i=2;i<=n;++i)
{
inv[i]=(mod-(mod/i)*inv[mod%i]%mod)%mod;
sum[i]=(sum[i-1]+inv[i])%mod;
}
LL ans=0ll;
for(i=1;i<=n;++i)
{
ans=(ans+a[i]*((sum[i]-sum[0]+sum[n-i+1]-sum[1]+mod)%mod)%mod)%mod;
}
printf("%lld\n",ans*fac(n)%mod);
return 0;
}

  

[AGC028B]Removing Blocks 概率与期望的更多相关文章

  1. AtCoder Grand Contest 028 B - Removing Blocks 解题报告

    B - Removing Blocks Time limit : 2sec / Memory limit : 1024MB Score : 600 points ## Problem Statemen ...

  2. 【BZOJ-3450】Tyvj1952Easy 概率与期望DP

    3450: Tyvj1952 Easy Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 468  Solved: 353[Submit][Status] ...

  3. 【BZOJ-4008】亚瑟王 概率与期望 + DP

    4008: [HNOI2015]亚瑟王 Time Limit: 20 Sec  Memory Limit: 512 MBSec  Special JudgeSubmit: 832  Solved: 5 ...

  4. BZOJ_4872_[Shoi2017]分手是祝愿_概率与期望

    BZOJ_4872_[Shoi2017]分手是祝愿_概率与期望 Description Zeit und Raum trennen dich und mich. 时空将你我分开.B 君在玩一个游戏,这 ...

  5. 概率和期望dp

    概率和期望dp 概率和期望好神啊,完全不会. 网上说概率要顺着推,期望要逆着推,然而我目前做的概率期望题正好都与此相反2333   概率: 关于概率:他非常健康 初中概率题非常恐怖.现在来思考一道题: ...

  6. 【CodeForces】913 F. Strongly Connected Tournament 概率和期望DP

    [题目]F. Strongly Connected Tournament [题意]给定n个点(游戏者),每轮游戏进行下列操作: 1.每对游戏者i和j(i<j)进行一场游戏,有p的概率i赢j(反之 ...

  7. 概率dp+期望dp 题目列表(一)

    表示对概率和期望还不是很清楚定义. 目前暂时只知道概率正推,期望逆推,然后概率*某个数值=期望. 为什么期望是逆推的,例如你求到某一个点的概率我们可以求得,然后我们只要运用dp从1~n每次都加下去就好 ...

  8. HDU 5159 Card (概率求期望)

    B - Card Time Limit:5000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Sta ...

  9. 概率及期望DP小结

    资源分享 26 个比较概率大小的问题 数论小白都能看懂的数学期望讲解 概念 \(PS\):不需要知道太多概念,能拿来用就行了. 定义 样本(\(\omega\)):一次随机试验产生的一个结果. 样本空 ...

随机推荐

  1. python实战项目 — 爬取中国票房网年度电影信息并保存在csv

    import pandas as pd import requests from bs4 import BeautifulSoup import time def spider(url, header ...

  2. 小程序的目录结构/配置介绍/视图层wxml数据绑定/双线程模型/小程序的启动流程

    安装好微信小程序开发软件,创建项目 小程序文件结构和传统web对比 结构 传统web 微信小程序 结构 HTML WXML 样式 CSS WXSS 逻辑 Javascript Javascript 配 ...

  3. go String方法的实际应用

    让 IPAddr 类型实现 fmt.Stringer 以便用点分格式输出地址. 例如,`IPAddr{1,`2,`3,`4}` 应当输出 `"1.2.3.4"`. String() ...

  4. 匹配script标签及内容js代码的正则表达式

    <script>[\s\S]+?</script>

  5. 以前我对你不够好,我也很难受——CSS篇

    1)文字下划线.删除线.定划线 Text-decoration:underline /*下划线*/ Text-decoration:overline     /*顶划线*/ Text-decorati ...

  6. linux之rename和mv的区别

    rename 命令格式 rename [ -v ] [ -n ] [ -f ] perlexpr [ files ] 参数介绍 -v:被替换掉的字符串 -n:替换成的字符串 -f:匹配要替换的文件模式 ...

  7. 关于Windows下的访问控制模型

    在探索Windows操作系统的过程中,发现很多有意思 的东西. Windows下的访问控制模型也是我在Github上浏览代码时,无意中发现的. 项目地址 https://github.com/Krut ...

  8. 使用VS2012编译和使用C++ STL(STLport)

    使用VS2012编译和使用C++ STL(STLport) http://cstriker1407.info/blog/use-vs2012-to-compile-and-use-the-c-stl- ...

  9. 自定义标签之inclusion_tag

    1.在当前app下创建templatetags文件夹 2.在templatetags文件夹下面创建自定义的mytag.py文件 3.在mytag.py文件中的代码 from django.templa ...

  10. Java 之 字符缓冲流

    一.字符缓冲输出流 java.io.BufferedWriter extends Writer BufferedWriter:字符缓冲输出流. 继承自父类的共性成员方法: void write(int ...