博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【PKUWC2018】猎人杀
阅读量:5748 次
发布时间:2019-06-18

本文共 1553 字,大约阅读时间需要 5 分钟。

题目描述

img

img

题目分析

\(W=\sum\limits_{i=1}^nw_i\)\(A=\sum\limits_{i=1}^nw_i[i\ is\ alive]\)\(P_i\)为下一个打中\(i\)的概率。

如果开枪打中了已经死亡的猎人,我们可以视作再开一枪,这样就不会产生影响,因此有

\[ \begin{split} P_i&=\frac{W-A}{W}P_i+\frac{w_i}W\\ 移项得\ P_i&=\frac{w_i}{A} \end{split} \]

考虑容斥,枚举\(S\),强制\(|S|\)个人在\(1\)后被射杀,其他随意,

所以可以视作打中其他人与打中死亡的猎人等价,可以再开一枪,

因此,\(1\)号猎人在其他\(|S|\)个猎人前被射杀的概率为\(P_1\)

\[ \begin{split} ans&=\sum_S(-1)^{|S|}P_1\\ &=\sum_{S}(-1)^{|S|}\frac{w_1}{w_1+sum\_w_S}\\ &=w_1\sum_{S}(-1)^{|S|}\frac{1}{w_1+sum\_w_S} \end{split} \]

考虑生成函数,后面的和式等价于

\[ \sum_{i=2}^n(1-x^{w_i}) \]

用分治+NTT求出,第\(i\)项的指数为\(sum\_w_S\),系数为满足这个\(sum\)的容斥系数和。

若生成函数为\(\sum\limits_{i=0}^\infty a_ix^i\),则

\[ ans=\sum_{i=0}^\infty a_i\cdot \frac{w_1}{w_1+i} \]

代码实现

#include
#include
#include
#include
#include
#include
#include
#define MAXN 0x7ffffffftypedef long long LL;const int N=400005,mod=998244353;using namespace std;inline int Getint(){register int x=0,f=1;register char ch=getchar();while(!isdigit(ch)){if(ch=='-')f=-1;ch=getchar();}while(isdigit(ch)){x=x*10+ch-'0';ch=getchar();}return x*f;}int ksm(int x,int k){ int ret=1; while(k){ if(k&1)ret=(LL)ret*x%mod; x=(LL)x*x%mod,k>>=1; } return ret;} int rev[N];void NTT(int *a,int x,int K){ int n=(1<
>1; int f[N],g[N]; memset(f,0,(sum[r]-sum[l-1]+1)<<3),memset(g,0,(sum[r]-sum[l-1]+1)<<3); Binary(f,l,mid),Binary(g,mid+1,r); int x=ceil(log2(sum[r]-sum[l-1]+2)); for(int i=0;i<(1<
>1]>>1)|((i&1)<

转载于:https://www.cnblogs.com/Emiya-wjk/p/10159819.html

你可能感兴趣的文章
【Best Practice】基于阿里云数加·StreamCompute快速构建网站日志实时分析大屏
查看>>
【云栖大会】探索商业升级之路
查看>>
HybridDB实例新购指南
查看>>
C语言及程序设计提高例程-35 使用指针操作二维数组
查看>>
华大基因BGI Online的云计算实践
查看>>
深入理解自定义Annotation,实现ButterKnif小原理
查看>>
排序高级之交换排序_冒泡排序
查看>>
Cocos2d-x3.2 Ease加速度
查看>>
[EntLib]关于SR.Strings的使用办法[加了下载地址]
查看>>
中小型网站架构分析及优化
查看>>
写shell的事情
查看>>
负载均衡之Haproxy配置详解(及httpd配置)
查看>>
linux虚拟机拷贝之后联网出错
查看>>
Linux文件系统探索
查看>>
标准与扩展ACL 、 命名ACL 、 总结和答疑
查看>>
查找恶意的TOR中继节点
查看>>
MAVEN 属性定义与使用
查看>>
shell高级视频答学生while循环问题
查看>>
使用@media实现IE hack的方法
查看>>
《11招玩转网络安全》之第一招:Docker For Docker
查看>>