JZOJ 4212. 【五校联考1day2】我想大声告诉你
题目

解析
设 \(f_{i,j}\) 表示 \(i+1..n\) 个人能受到 \(j\) 次攻击的概率
因为选人出局的顺序是无所谓的,所以我们设从 \(1..n\) 依次选人出局
那么转移时需要分类,分类即加
- 选第 \(i\) 个人出局,那么 \(i+1..n\) 会受到 \(1\) 次攻击。先前攻击了 \(j-1\) 次,\(i\) 必须要活下来。\(f_{i,j} = f_{i-1,j-1} \times (1-p)^{j-1}\)
- 第 \(i\) 个人是遭受攻击后被杀,那么它必然在前 \(j\) 次攻击的某一次后出局。\(f_{i,j} = f_{i-1,j} \times (1-(1-p)^j)\)
然后考虑答案是什么
对于 \(k\) 次攻击,小 \(R\) 可以是在所有的 \(f_{i,k}\) 后在被选中出局,那么他必然在受到攻击后仍活下来
所以 \(ans_k = \frac{1}{n} \times (1-p)^k \times \sum_{i=0}^n f_{i,k}\)
乘上 \(\frac{1}{n}\) 是因为小 \(R\) 有 \(\frac{1}{n}\) 的概率在这个位置上
\(Code\)
#include<cstdio>
#include<cstring>
#define LL long long
using namespace std;
const int N = 2e3 + 5;
const LL P = 258280327;
LL f[N][N] , pow[N];
inline LL fpow(LL x , LL y)
{
if (x == 0 && y == 0) return 0;
x = (x + P) % P;
LL res = 1;
while (y)
{
if (y & 1) res = res * x % P;
y >>= 1 , x = x * x % P;
}
return res;
}
int main()
{
int T;
scanf("%d" , &T);
for(; T; T--)
{
int n; LL x , y , p;
scanf("%d%lld%lld" , &n , &x , &y);
p = x * fpow(y , P - 2) % P;
pow[0] = 1;
for(register int i = 1; i <= n; i++) pow[i] = pow[i - 1] * (1 - p + P) % P;
memset(f , 0 , sizeof f);
f[0][0] = 1;
for(register int i = 1; i < n; i++)
{
f[i][0] = f[i - 1][0] * (1 - pow[0] + P) % P;
for(register int j = 1; j < n; j++)
f[i][j] = f[i - 1][j - 1] * pow[j - 1] % P ,
f[i][j] += f[i - 1][j] * (1 - pow[j] + P) % P;
}
for(register int k = 0; k < n; k++)
{
LL ans = 0;
for(register int i = 0; i < n; i++) ans = (ans + f[i][k]) % P;
printf("%lld " , ans * pow[k] % P * fpow(n , P - 2) % P);
}
printf("\n");
}
}
JZOJ 4212. 【五校联考1day2】我想大声告诉你的更多相关文章
- 【五校联考1day2】JZOJ2020年8月12日提高组T2 我想大声告诉你
[五校联考1day2]JZOJ2020年8月12日提高组T2 我想大声告诉你 题目 Description 因为小Y 是知名的白富美,所以自然也有很多的追求者,这一天这些追求者打算进行一次游戏来踢出一 ...
- 【五校联考1day2】JZOJ2020年8月12日提高组T1 对你的爱深不见底
[五校联考1day2]JZOJ2020年8月12日提高组T1 对你的爱深不见底 题目 Description 出乎意料的是,幸运E 的小R 居然赢了那个游戏.现在欣喜万分的小R 想要写一张明信片给小Y ...
- 五校联考 running (欧拉函数)
题面 \(solution:\) 讲真吧,这道题真的出得,嗯,太恐怖了.考场上这道题真的把我看懵了,这道题以前是见过的,但欧拉函数?我学过吗?一道容斥都要超时的题目,我都要为我自己点根香了,拿着gcd ...
- 【五校联考3day2】C
題意: 現有一平面直角坐標系,有n個點,每一個點必須向某一個方向發射射線,且任意一條射線必須與某一條坐標軸平行.定義一種發射射線的方案是合法的,則方案必須滿足: 1.沒有一條射線交叉 2.沒有一條射線 ...
- 五校联考R1 Day1T3 平面图planar(递推 矩阵快速幂)
题目链接 我们可以把棱柱拆成有\(n\)条高的矩形,尝试递推. 在计算的过程中,第\(i\)列(\(i\neq n\))只与\(i-1\)列有关,称\(i-1\)列的上面/下面为左上/左下,第\(i\ ...
- 五校联考R1 Day2T2 矩阵matrix(容斥)
题目链接 容易想到容斥,但是很恶心,因为要对行和列都容斥,然后行+列又要容斥.. 于是得到\(O(nm\log)\)的做法. 就有70分了: #include <cstdio> #incl ...
- 五校联考模拟赛Day2T2矩阵(容斥原理)
题意 $n * m$的网格,对其进行黑白染色,问每一行每一列至少有一个黑格子的方案数. Sol 考场上只会$n^3$的dp,还和指数级枚举一个分qwq 设$f[i][j]$表示到了第$i$行,已经有$ ...
- NOIP2016提高A组五校联考4总结
坑爹的第一题,我居然想了足足3个小时,而且还不确定是否正确. 于是,我就在这种情况下心惊胆跳的打了,好在ac了,否则就爆零了. 第二题,树形dp,本来差点就想到了正解,结果时间不够,没打完. 第三题, ...
- 【NOIP2016提高A组五校联考4】square
题目 分析 首先,设\(f_{i,j}\)表示最大的以(i,j)为左下角的正方形的边长. 转移显然,\(f_{i,j}=\max(f_{i-1,j},f_{i,j-1},f_{i-1,j-1})+1\ ...
- 【NOIP2016提高A组五校联考4】label
题目 题目 20%算法 设\(f_{i,j}\)表示第i个节点选了j这个权值的方案数. 显然转移方程为,\[f_{i,j}=\Pi_{v=son(i)}(\sum_{k=1}^{j-k}f_{v,k} ...
随机推荐
- 第一章:使用函数绘制matplotlib的图表组成元素
1.绘制直线图 1 # ============================展现变量的趋势变化========================== 2 import matplotlib.pypl ...
- Day30:ArrayList详解
ArrayList 1.1 集合概述 当我们要存储多个数据时,固定长度的数组存储格式已经满足不了我们的需要了,且不能满足变化的需求: Java中集合类则可以解决我们的需求 特点:提供一种存储空间可变的 ...
- 【大数据-课程】高途-天翼云侯圣文-Day1:互联网大数据揭秘(大数据介绍&MR实现双十一举牌)
一.大厂职级 P7:年薪百万 二.大数据发展 1.职业路线和岗位角色 2.大数据行业发展 三.大数据的位置 1.热门行业 大数据承上启下 2.三者关系 啤酒和尿不湿:启发可以放在一块 3.大数据作用 ...
- 大规模爬取(新浪为例子)网页之downloader、parser的封装(涉及编码等细节)
import requests import cchardet import traceback from lxml import etree def downloader(url,timeout = ...
- 预编译SQL为什么能够防止SQL注入
前言 之前我一个搞网络安全的朋友问了我一个的问题,为啥用 PreparedStatement 预编译的 SQL 就不会有被 SQL 注入的风险? 第一时间我联想到的是八股文中关于 Mybatis 的脚 ...
- vulnhub靶场之DARKHOLE: 1
准备: 攻击机:虚拟机kali.本机win10. 靶机:DarkHole: 1,下载地址:https://download.vulnhub.com/darkhole/DarkHole.zip,下载后直 ...
- bitlocker加密如何找密钥解锁
步骤1:在其他设备上登录[微软账号],地址:https://account.microsoft.com 步骤2:找到[自己的设备],查看[Bitlocker]密钥登录进去能看到[设备],找要解锁的那台 ...
- MYSQL的回忆录(适合有基础的小伙伴看,没基础的看着估计够呛)
SQL分类 MYSQL的数据类型 Text 类型 数据类型 描述 CHAR(size) 保存固定长度的字符串(可包含字母.数字以及特殊字符).在括号中指定字符串的长度.最多 255 个字符. VARC ...
- [OpenCV实战]36 使用OpenCV在视频中实现简单背景估计
目录 1 时间中值滤波 2 使用中值进行背景估计 3 帧差分 4 总结和代码 5 参考 许多计算机视觉应用中,硬件配置往往较低.在这种情况下,我们必须使用简单而有效的技术.在这篇文章中,我们将介绍一种 ...
- Spark详解(03) - Spark3.0.0运行环境安装
Spark详解(03) - Spark3.0.0运行环境安装 Spark运行模式 Spark常见部署模式: Local模式:在本地部署单个Spark服务 所谓的Local模式,就是不需要其他任何节点资 ...