传送门

果然\(dp\)题就没咱啥事儿了

设\(f_{i,j}\)为长度为\(i\)的区间,所有元素的值不超过\(j\)的总的疲劳值

如果\(j\)没有出现过,那么\(f_{i,j}=f_{i,j-1}\)

如果\(j\)出现过,我们考虑枚举\(j\)第一次出现的位置\(k\),设包含那个位置的长度为\(m\)的区间个数为\(c\),那么这里\(j\)的贡献就是\({w_j}^c\),前面没有\(j\),是\(f_{i-1,j-1}\)后面可能还有\(j\),是\(f_{i-k,j}\)

综上,转移为\[f_{i,j}=f_{i,j-1}+\sum_{k=1}^i {w_j}^c\times f_{i-1,j-1}\times f_{i-k,j}\]
然后边界的话,\(f_{0,j}=1\),而对于所有\(i<m\)的序列,这里贡献的就是区间个数,为\(f_{i,j}=j^i\)

//minamoto
#include<bits/stdc++.h>
#define R register
#define fp(i,a,b) for(R int i=a,I=b+1;i<I;++i)
#define fd(i,a,b) for(R int i=a,I=b-1;i>I;--i)
#define go(u) for(int i=head[u],v=e[i].v;i;i=e[i].nx,v=e[i].v)
using namespace std;
char buf[1<<21],*p1=buf,*p2=buf;
inline char getc(){return p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++;}
int read(){R int res,f=1;R char ch;while((ch=getc())>'9'||ch<'0')(ch=='-')&&(f=-1);for(res=ch-'0';(ch=getc())>='0'&&ch<='9';res=res*10+ch-'0');return res*f;
}
const int N=405,P=998244353;
inline int add(R int x,R int y){return x+y>=P?x+y-P:x+y;}
inline int dec(R int x,R int y){return x-y<0?x-y+P:x-y;}
inline int mul(R int x,R int y){return 1ll*x*y-1ll*x*y/P*P;}
int ksm(R int x,R int y){R int res=1;for(;y;y>>=1,x=mul(x,x))if(y&1)res=mul(res,x);return res;
}
int p[N][N],f[N][N],c[N][N],a[N];
int n,m;
int main(){
//  freopen("testdata.in","r",stdin);n=read(),m=read();fp(i,1,n){a[i]=read(),p[i][0]=1;fp(j,1,n)p[i][j]=mul(p[i][j-1],a[i]);}fp(i,0,n)f[0][i]=1;fp(i,1,m-1)fp(j,1,n)f[i][j]=mul(f[i-1][j],j);fp(i,m,n)fp(j,1,i-m+1)fp(k,0,m-1)++c[i][j+k];fp(i,m,n)fp(j,1,n){f[i][j]=f[i][j-1];fp(k,1,i)f[i][j]=add(f[i][j],1ll*f[k-1][j-1]*f[i-k][j]%P*p[j][c[i][k]]%P);}printf("%d\n",f[n][n]);return 0;
}

转载于:https://www.cnblogs.com/bztMinamoto/p/10279153.html

uoj#311. 【UNR #2】积劳成疾(期望dp)相关推荐

  1. UOJ.311.[UNR#2]积劳成疾(DP)

    UOJ 序列中的每个位置是等价的.直接令\(f[i][j]\)表示,\(i\)个数的序列,最大值不超过\(j\)的所有序列每个长为\(k\)的子区间最大值的乘积的和. 由\(j-1\)转移到\(j\) ...

  2. 【UOJ#311】【UNR #2】积劳成疾(动态规划)

    [UOJ#311][UNR #2]积劳成疾(动态规划) UOJ Solution 考虑最大值分治解决问题.每次枚举最大值所在的位置,强制不能跨过最大值,左右此时不会影响,可以分开考虑. 那么设\(f[ ...

  3. UOJ #311「UNR #2」积劳成疾

    需要锻炼$ DP$能力 UOJ #311 题意 等概率产生一个长度为$ n$且每个数在[1,n]间随机的数列 定义其价值为所有长度为$ k$的连续子数列的最大值的乘积 给定$ n,k$求所有合法数列的 ...

  4. UOJ #214 合唱队形 (概率期望计数、DP、Min-Max容斥)

    UOJ #214 合唱队形 (概率期望计数.DP.Min-Max容斥) 9个月的心头大恨终于切掉了!!!! 非常好的一道题,不知为何uoj上被点了70个差评. 题目链接: http://uoj.ac/ ...

  5. luogu P4745 [CERC2017]Gambling Guide(期望DP + 最短路实现)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 P4745 [CERC2017]Gambling Guide(期望DP + 最短路实现) Weblin ...

  6. [SCOI2008]奖励关(期望dp)

    你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关.在这个奖励关里,系统将依次随机抛出k次宝物,每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的宝物以后也不能再吃). 宝 ...

  7. 【bzoj4318】OSU! 期望dp

    题目描述 osu 是一款群众喜闻乐见的休闲软件.  我们可以把osu的规则简化与改编成以下的样子:  一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1个长度为n的0 ...

  8. 【loj6342】跳一跳 期望dp

    题目描述 一个人从 $1$ 开始向 $n$ 跳,在 $i$ 时会等概率跳到 $i,i+1,...,n$ 之一.求从 $1$ 跳到 $n$ 的期望步数. $n\le 10^7$ . 题解 期望dp傻逼题 ...

  9. 【高斯消元】兼 【期望dp】例题

    [总览] 高斯消元基本思想是将方程式的系数和常数化为矩阵,通过将矩阵通过行变换成为阶梯状(三角形),然后从小往上逐一求解. 如:$3X_1 + 2X_2 + 1X_3 = 3$ $           ...

  10. Luogu P3251 [JLOI2012]时间流逝 期望dp

    题面 题面 题解 期望\(dp\)好题! 今年\(ZJOI\)有讲过这题... 首先因为\(T\)只有\(50\),大力\(dfs\)后发现,可能的状态数最多只有\(20w\)左右,所以我们就可以大力 ...

最新文章

  1. 什么是Bi-GRU语义解析
  2. 微信内测附近的餐厅,小程序要跨界外卖了?
  3. PAT-BASIC-1016-部分A+B
  4. java table修改指定行_(变强、变秃)Java从零开始之JQuery购物车功能实操
  5. tcl linux 刷 安卓系统,安卓用户看过来—手把手教你刷第三方系统
  6. 软件测试要求太高,软件“故障门”频现 对软件测试提出更高要求
  7. python学习之字符串函数用法
  8. python编程资料包_强力推荐,非常全的Python编程400集学习资料(今日限免)
  9. Ubuntu sudo nopasswd方法
  10. Redis的安装启动,菜鸟使用(windows)
  11. 无法启动iis express web 服务器
  12. MAC wps中选中的页面和缩放打印
  13. 小刘同学的第一百二十二篇博文
  14. 斯坦福大学公开课:量子力学
  15. 华三防火墙NAT配置CLI
  16. 电梯广告框尺寸批发供应|电梯相框广告规格
  17. 人人都是网站分析师(从分析师视角理解网站和解读数据)-读书笔记4(完结)
  18. 图片切换上一页 下一页
  19. 等值连接mysql_数据库等值连接,左连接,右连接的区别
  20. spark TF-IDF特征提取生成文章关键词

热门文章

  1. 云产研见客户的行为分析
  2. python二维码加动态图_用python自制个性二维码(设置带LOGO的二维码带动图)
  3. Exchange 常见问题之十
  4. 计算机二级心得体会论文,学习计算机二级心得体会.docx
  5. [Leetcode 每日精选](本周主题-股票) 714. 买卖股票的最佳时机含手续费
  6. [学习笔记] Python【第031讲:永久存储:腌制一缸美味的泡菜】总结
  7. 超级应用 - 免费应用内测托管平台|APP应用分发平台|iOS应用分发|Android应用分发|免费应用内测托管平台 源码下载
  8. 电容器功率密度和能量密度
  9. 怎样对比计算机配置,硬件配置对比
  10. 向上取整向下取整探讨