题意

题解

我太菜了……
看官方题解吧:

#include<cstdio>
#include<algorithm>
using namespace std;
typedef long long LL;
const LL maxn=405, MOD=998244353;
int n,m,w[maxn];
LL p[maxn][maxn],f[maxn][maxn];
int main(){freopen("uoj311.in","r",stdin);freopen("uoj311.out","w",stdout);scanf("%d%d",&n,&m);for(int i=1;i<=n;i++) scanf("%d",&w[i]);for(int i=1;i<=n;i++){p[i][0]=1;for(int j=1;j<=n;j++) p[i][j]=p[i][j-1]*w[i]%MOD;}for(int i=0;i<=n;i++) f[1][i]=p[1][max(0,i-m+1)];for(int i=2;i<=n;i++)for(int j=0;j<=n;j++){f[i][j]=f[i-1][j];for(int k=1;k<=j;k++){int t=max(0,m-max(0,m-k)-max(0,m-(j-k+1)));(f[i][j]+=f[i-1][k-1]*p[i][t]%MOD*f[i][j-k]%MOD)%=MOD;}}printf("%lld\n",f[n][n]);return 0;
}

[期望DP] UOJ#311. 【UNR #2】积劳成疾相关推荐

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

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

  2. [DP] UOJ #311. 【UNR #2】积劳成疾

    fi,jf_{i,j}表示长为 ii 的区间 最大值是jj 的答案 转移就枚举最左边的最大值在区间的位置 前缀和优化下就好了 好像也可以fi,j,kf_{i,j,k}表示前 ii 个,末尾 KK 个中 ...

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

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

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

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

  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$ $           ...

最新文章

  1. 想学习Android开发
  2. 详解ScheduledExecutorService的周期性执行方法
  3. 一个关于Remoting的简单例子
  4. 类 java_java类的基本结构
  5. cmake Can‘t find third_party/gtest
  6. BCG全球资产管理报告:行业增长的驱动力
  7. 把.Net开发环境迁移到Linux上去
  8. SuperMap许可驱动安装流程详解
  9. uploadify php完整,uploadify.php
  10. 如何用MATLAB编写FIR维纳滤波器,Fir维纳滤波器的Matlab仿真
  11. centos 7 安装sql 审核工具 inception + archer
  12. Monocular Depth Estimation UsingLaplacian Pyramid-Based Depth Residuals翻译
  13. 解决服务器挖矿漏洞 crypto
  14. maven下载jar包, 反复出现lastUpdated文件
  15. 视音频冷知识——音箱线
  16. 浅析基于二维轮廓线重构表面算法
  17. 聊聊自学,让你事半功倍的学习网站和工具
  18. matlab的损失函数mse,MSELoss损失函数
  19. JavaScript对象与JSON格式的转换
  20. 网络营销--网站搜索引擎友好性分析

热门文章

  1. java web短信验证码_在Web项目中手机短信验证码实现的全过程记录
  2. 根据经纬度坐标获得省市区县行政区划城市名称,自建数据库 java python php c# .net 均适用
  3. 什么是跨域(CORS)?怎么解决跨域(CORS)?
  4. Halting problem
  5. NetSuite 未实现汇兑损益
  6. 关于SQL Server numeric数据类型介绍
  7. 他励直流电动机的机械特性
  8. python字符串与十六进制互相转换
  9. python向上取整_python向上取整
  10. 深入分析零拷贝的原理,彻底掌握Netty、Kafka、RocketMQ高效率读写的秘诀