首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
LOJ#3119 随机立方体
】的更多相关文章
LOJ#3119 随机立方体
解:极大值至少为1.我们尝试把最大那个数的影响去掉. 最大那个数所在的一层(指一个三维十字架)都是不可能成为最大值的. 考虑容斥.我们试图求除了最大值以外至少有k个极大值的概率. 我们钦定某k个位置是极大值,且钦定顺序.这样的方案数有ni↓mi↓Li↓种. 考虑每种方案的概率.从小到大考虑,对于最小的那个极大值,如果是极大值,就要大于一个三维十字架中的所有数,这样的概率是1 / 集合大小. 对于次小极大值,它要大于自己的三维十字架和最小值的三维十字架的并.概率还是1 / 集合大小. 于是依次考虑…
LOJ 3119: 洛谷 P5400: 「CTS2019 | CTSC2019」随机立方体
题目传送门:LOJ #3119. 题意简述: 题目说的很清楚了. 题解: 记恰好有 \(i\) 个极大的数的方案数为 \(\mathrm{cnt}[i]\),则答案为 \(\displaystyle\frac{\mathrm{cnt}[k]}{(nml)!}\). "恰好"这个词非常的难受,我们考虑容斥: 记 \(\mathrm{f}[i]\) 为存在 \(i\) 个极大的数的方案数,若恰好有 \(j\) 个极大的数,会被相应地统计 \(\displaystyle\binom{j}{i…
【CTS2019】随机立方体(容斥)
[CTS2019]随机立方体(容斥) 题面 LOJ 洛谷 题解 做这道题目的时候不难想到容斥的方面. 那么我们考虑怎么计算至少有\(k\)个极大值的方案数. 我们首先可以把\(k\)个极大值的位置给确定出来,方案数是\(\displaystyle {n\choose k}{m\choose k}{l\choose k}(k!)^3\),乘上\(k!\)是为了确定之间的顺序关系,即我们先确定\(xyz\)三维,然后把这三维要一一对应到点才行.假设这个值是\(w[k]\). 剩下要填的是两个部分,一…
「CTS2019 | CTSC2019」随机立方体 解题报告
「CTS2019 | CTSC2019」随机立方体 据说这是签到题,但是我计数学的实在有点差,这里认真说一说. 我们先考虑一些事实 如果我们在位置\((x_0,y_0,z_0)\)钦定了一个极大数\(p\),那么我们需要把\(x=x_0\),\(y=y_0\)与\(z=z_0\)的三个平面的交中填上比\(p\)小的数字,这样,剩下的正方体就成了一个长宽高分别为\((n-1)(m-1)(l-1)\)的子问题了. 考虑到我们使用的是数字的相对大小关系,而不是数字的值,也就是说,任意的\(k\)个数字…
[LOJ#3119][Luogu5400][CTS2019]随机立方体(容斥+DP)
https://www.cnblogs.com/cjyyb/p/10900993.html #include<cstdio> #include<algorithm> #define rep(i,l,r) for (int i=(l); i<=(r); i++) using namespace std; ,mod=; int n,m,l,d,V,M,k,T,ans,v[N],w[N],s[N],is[N],fac[N],inv[N]; : 1ll*fac[n]*inv[m]%m…
LOJ #3119「CTS2019 | CTSC2019」随机立方体 (容斥)
博客链接 里面有个下降幂应该是上升幂 还有个bk的式子省略了k^3 CODE 蛮短的 #include <bits/stdc++.h> using namespace std; const int MAXN = 5000005; const int mod = 998244353; int fac[MAXN], inv[MAXN]; inline void PreWork(int N) { fac[0] = fac[1] = inv[0] = inv[1] = 1; for(int i = 2…
【LOJ】#3119. 「CTS2019 | CTSC2019」随机立方体
题解 用容斥,算至少K个极大值的方案数 我们先钦定每一维的K个数出来,然后再算上排列顺序是 \(w_{k} = \binom{n}{k}\binom{m}{k}\binom{l}{k}(k!)^3\) 然后有\((n - k)(m - k)(l - k)\)是可以随便填的 设\(all = nml,v_k = nml - (n - k)(m - k)(l - k)\) 设剩下的数填的方案是\(h_k\) 那么答案就是\(w_kh_k \binom{all}{all - v_{k}}(all -…
LOJ #3119. 「CTS2019 | CTSC2019」随机立方体 组合计数+二项式反演
好神的一道计数题呀. code: #include <cstdio> #include <algorithm> #include <cstring> #define N 5000003 #define ll long long #define mod 998244353 #define setIO(s) freopen(s".in","r",stdin) using namespace std; int invg[N],dp[N]…
[LibreOJ 3119]【CTS2019】随机立方体【计数】【容斥】
Description Solution 记\(N=min(n,m,l)\) 首先考虑容斥,记\(f(i)\)为至少有i个位置是极大的,显然极大的位置数上界是N. 那么显然\(Ans=\sum\limits_{i=k}^{N}(-1)^{i-k}f(i){i \choose k}\) 现在来计算\(f\) 我们考虑立方体中哪些位置是极大的,显然这些极大的位置三维坐标都互不相同,然后剩下的怎么选概率都是一样的. 将这i个位置按值从小到大排起来,那么有序的选出\(i\)个位置的方案数就是\(n^{i…
LOJ3119. 「CTS2019 | CTSC2019」随机立方体 二项式反演
题目传送门 https://loj.ac/problem/3119 现在 BZOJ 的管理员已经不干活了吗,CTS(C)2019 和 NOI2019 的题目到现在还没与传上去. 果然还是 LOJ 好. 题目 恰好有 \(k\) 个极大数不太好求,我们还是转化成二项式反演. 然后就变成了给定一个点的集合 \(S\),求钦定 \(S\) 中的点是极大点的方案数.可以发现 \(S\) 中的点因为必须要保证没有一维的坐标相同,所以到底是哪些点是不重要的,有用的只有 \(|S|\).所以问题转化为钦定了…