https://www.luogu.org/problem/show?pid=3600#sub (题目链接)

题意

  一个$n$个数的序列,里面每个数值域为$[1,X]$。给$q$个区间,每个区间的权值为这段区间里面的最小的数,然后算出了一个$ans=min(q_i)$,问$ans$的期望大小。

Solution

  md,太久没写题了,菜的抠脚了已经。

  官方题解写的挺好的:https://www.luogu.org/discuss/show?postid=7867

细节

  删除包含区间。

代码

// luogu3600
#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<cmath>
#define LL long long
#define Pi acos(-1.0)
#define free(a) freopen(a".in","r",stdin),freopen(a".out","w",stdout);
using namespace std; const int maxn=2010,MOD=666623333;
int n,m,X,Q;
LL f[maxn],s[maxn],inv[maxn],ans;
struct data {int l,r;}q[maxn],t[maxn]; bool cmp(data a,data b) {
return a.l==b.l ? a.r<b.r : a.l<b.l;
}
LL power(LL a,LL b) {
LL res=1;
while (b) {
if (b&1) (res*=a)%=MOD;
b>>=1;(a*=a)%=MOD;
}
return res;
}
int main() {
scanf("%d%d%de",&n,&X,&Q);
for (int i=1;i<=Q;i++) scanf("%d%d",&q[i].l,&q[i].r);
sort(q+1,q+1+Q,cmp);
for (int i=1;i<=Q;i++) {
while (q[m].r>=q[i].r && m) m--;
if (q[i].l>q[m].l && q[i].r>q[m].r) q[++m]=q[i];
}
for (int l=1,r=0,i=1;i<=n;i++) {
while (r<m && q[r+1].l<=i && i<=q[r+1].r) r++;
while (l<=m && q[l].r<i) l++;
t[i]=(data){l,r};
}
f[0]=inv[0]=1;
for (int x=1;x<=X;x++) {
LL T=power(X,MOD-2)*(x-1)%MOD,P=(1-T+MOD)%MOD,B=power(P,MOD-2),K=1,S=1,sum=0;
for (int i=1;i<=n;i++) inv[i]=inv[i-1]*B%MOD;
for (int p=0,i=1;i<=n;i++,(K*=P)%=MOD) {
for (;p<i && t[p].r<t[i].l-1;p++) (S+=MOD-inv[p]*f[p]%MOD)%=MOD;
f[i]=S*K%MOD*T%MOD;
(S+=f[i]*inv[i]%MOD)%=MOD;
}
K=1;
for (int i=n;i>=1;i--,(K*=P)%=MOD) if (t[i].r==m) (sum+=f[i]*K%MOD)%=MOD;
(ans+=(1-sum+MOD))%=MOD;
}
printf("%lld",ans);
return 0;
}

最新文章

  1. JavaScript_Html5_LocalStorage项目demo
  2. SSRS 的简单使用(二)
  3. codeforces Educational Codeforces Round 5 A. Comparing Two Long Integers
  4. Embeding Python &amp; Extending Python with FFPython
  5. ArrayList的使用方法【转载】
  6. 微博发布效果jq版
  7. VMware vSphere 服务器虚拟化之十七 桌面虚拟化之安装View链接服务器
  8. (@WhiteTaken)设计模式学习——简单工厂
  9. poj1159二维树状数组
  10. Install OpenCV 3.0 and Python 2.7+ on OSX
  11. 一篇不一样的docker原理解析
  12. 进制转换 map
  13. OC仿QQ侧滑
  14. mvc core2.1 Identity.EntityFramework Core 用户Claims查看(七)
  15. JVM学习--开启应用的gc日志功能
  16. 【poj3016】 K-Monotonic
  17. Mac下布置appium环境
  18. (笔试题)N!尾部连续0的个数
  19. SQL Server中的SQL语句优化与效率
  20. python2.7 + ubuntu14.4 + dlib19.7

热门文章

  1. 4358: permu
  2. ngx_lua 模块
  3. BTrace 初探
  4. Command Analyze failed with a nonzero exit code
  5. 第三次作业 (一)----------------------Visual Studio 2015的安装及单元测试
  6. 5 questions
  7. BUAAMOOC项目终审报告
  8. github心得体会 王倩倩 201303014004 计科高职13-1
  9. HDU 2021 发工资咯:)
  10. Activiti的BPMN演示工具