麻麻我会做*3100的计数了,我出息了

考虑朴素DP我们怎么做呢。

设\(f_{i,l,r}\)为第\(i\)层选择\(l,r\)的依旧不倒的概率。

\(q(l,r)\)表示经历了\(k\)天后,存活下来的区间为\([l,r]\)的概率。

发现其可以转为前缀后缀形式。

即前缀删掉了\(l - 1\)个,后缀删了\(m - r\)个。

而删掉的过程是独立的。

那么删掉\(i\)个的概率为\(d(i)\)

显然有\(d(i) = \binom{i}{k}p^{i} \times ({1 - p})^{k - i}\)

那么有\(q(l,r) = d(l - 1) * d(m - r)\)

那么有\(f_{i,l,r} = q(l,r) * (\sum f_{i - 1,li,ri} ([li,ri] 交于 [l,r]))\)

直接暴力枚举\([li,ri],[l,r]\)这样是\(O(nm^4)\)的

考虑我们并不需要枚举\([li,ri]\),此时我们考虑容斥。

设\(S(i) = \sum f_{i,l,r}\)

那么有不交\([l,r]\)的区间的和为\(S(i - 1) - \sum{f_{i,li,ri}(ri < li)} - \sum{f_{i,li,ri}(li > ri)}\)

那么不妨记录对\(r\)记录前缀和,对\(l\)记录后缀和。

那么设\(pre(i,j) = \sum (f_{i,l,r} (r <= j))\)

设\(fail(i,j) = \sum (f_{i,l,r} (l >= j))\)

那么改写原柿子,\(f_{i,l,r} = (d(l - 1) * d(m - r)) * (S(i - 1) - pre(i - 1,l - 1) - fail(i - 1,r + 1)\)

利用前缀后缀和,则可以做到\(O(nm^2)\)

考虑我们接着优化,因为我们发现,实际上我们并不关心每个\([l,r]\)的答案是什么。

我们只关心以\(l\)开头的,和以\(r\)结尾的dp值的和,以及全局答案。

那么启示我们枚举\(l\),并用某种后缀和计算一次性处理后缀\(r\)。

我们考虑拆项。

\((d(l - 1) * d(m - r)) * (S(i - 1) - pre(i - 1,l - 1) - fail(i - 1,r + 1) = d(l - 1) * S(i - 1) * d(m - r) - pre(i - 1,l - 1) * d(l - 1) * d(m - r) - fail(i - 1,r + 1) * d(m -r) * d(l - 1)\)

那么只要维护\(\sum pre(i - 1,l) * d(l),fail(i - 1,r + 1) * d(m - r),d(l),d(r)\)

即可。

CF708E Student's Camp的更多相关文章

  1. 【CF708E】Student's Camp 组合数+动态规划

    [CF708E]Student's Camp 题意:有一个n*m的网格,每一秒钟,所有左面没有格子的格子会有p的概率消失,右面没有格子的格子也会有p的概率消失,问你t秒钟后,整个网格的上边界和下边界仍 ...

  2. [Codeforces708E]Student's Camp

    Problem 一个n*m块砖的建筑,一共k天,每天风从两边吹,吹掉砖的概率为p,反之为1-p,求最终建筑没有倒塌的可能性(上层与下层有交集且每一层都有砖) Solution 首先,我们可以预处理出p ...

  3. [CodeForces-708E]Student's Camp

    题目大意: 一个n*m的墙,被吹k天风,每块靠边的砖都有p的概率被吹掉. 如果上下两行没有直接相连的地方,我们则认为这一堵墙已经倒塌. 问最后墙不倒塌的概率(模意义). 思路: 动态规划. 用f[i] ...

  4. Student's Camp CodeForces - 708E (dp,前缀和优化)

    大意: $n$行$m$列砖, 白天左侧边界每块砖有$p$概率被摧毁, 晚上右侧边界有$p$概率被摧毁, 求最后上下边界连通的概率. 记${dp}_{i,l,r}$为遍历到第$t$行时, 第$t$行砖块 ...

  5. Codeforces 708E - Student's Camp(前缀和优化 dp)

    Codeforces 题目传送门 & 洛谷题目传送门 神仙 *3100,%%% 首先容易注意到 \(\forall i\in[1,m]\),第 \(i\) 行剩余的砖块一定构成一个区间,设其为 ...

  6. Codeforces Round #588 (Div. 2) D. Marcin and Training Camp(思维)

    链接: https://codeforces.com/contest/1230/problem/D 题意: Marcin is a coach in his university. There are ...

  7. java.io.NotSerializableException: test.io.file.Student

    java.io.NotSerializableException: test.io.file.Student    at java.io.ObjectOutputStream.writeObject0 ...

  8. 使用java反射机制编写Student类并保存

    定义Student类 package org; public class Student { private String _name = null; ; ; public Student() { } ...

  9. 参加MVP OpenDay 和2015 MVP Community Camp社区大课堂

    微软MVP Openday 1月30日在北京召开,到时全国上百位 MVP 专家将齐聚北京.当然还有亚太的其他国家地区的MVP 也会来北京,1月31日微软 MVP 项目组主办的年度微软技术社区分享大会- ...

随机推荐

  1. flask操作(增删改查操作)

    增加数据 from .models import Goods from app.extensions import db goods1 = Goods(name='魅族18s', price=3400 ...

  2. 【UE4 C++】关卡切换、流关卡加载卸载

    切换关卡 基于 UGameplayStatics:: OenLevel UGameplayStatics::OpenLevel(GetWorld(), TEXT("NewMap") ...

  3. Java 是编译型语言还是解释型语言?

    Java首先由编译器编译成.class类型的文件,这个是java自己类型的文件.然后在通过虚拟机(JVM)从.class文件中读一行解释执行一行.因此Java是一种半编译半解释的语言,理解这种意思即可 ...

  4. UVA-1498 Activation

    UVA-1498 DP应该是肯定的,设 f [ i ] [ j ] 表示现在对中共有 i 人,Tomato在第 j 个,出现所求情况的概率,我们可以很(简单的)艰难的列出下列方程: f[i][1] = ...

  5. POJ 3692 Kindergarten(二分图最大独立集)

    题意: 有G个女孩,B个男孩.女孩彼此互相认识,男孩也彼此互相认识.有M对男孩和女孩是认识的.分别是(g1,b1),.....(gm,bm). 现在老师要在这G+B个小孩中挑出一些人,条件是这些人都互 ...

  6. 有关unsigned和有符号类型的区别

    相信大家对于unsigned这个玩意并不陌生,但是有的时候却会被它搞懵,比如下面: #include<iostream> using std::cout; using std::cin; ...

  7. Centos7+Postfix+Dovecot实现内网邮件收发

    1. 前期准备: 主机:CentOS release 7.6.1810 (Core)     #安装时选择邮件服务器 IP:192.168.71.108   #示例 本地yum源 #因为是内网,所以建 ...

  8. Maven 问题 Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:3.0.0-M1 的处理

    一.问题描述 Maven项目报错,该项目是导入的项目,然后再通过开发工具打开项目时,pom.xml文件报错. 并且新建Maven Project 也会报错. 二.报错详细Failure to tran ...

  9. Spark整合Hive

    spark-sql 写代码方式 1.idea里面将代码编写好打包上传到集群中运行,上线使用 spark-submit提交 2.spark shell (repl) 里面使用sqlContext 测试使 ...

  10. CefSharp-基于C#的客户端开发框架技术栈开发全记录

    CefSharp简介 源于Google官方 CefSharp用途 CefSharp开发示例 CefSharp应用--弹窗与右键 不弹出子窗体 禁用右键 CefSharp应用--High DPI问题 缩 ...