考虑容斥,计算至少有k个极大数的概率.不妨设这k个数对应的格子依次为(k,k,k)……(1,1,1).那么某一维坐标<=k的格子会对这些格子是否会成为极大数产生影响.先将这样的所有格子和一个数集对应起来,即将答案乘上一个组合数.然后需要考虑的就是这些格子有多少种合法排列顺序. 这个排列需要满足的是(i,i,i)之前不能出现某一维坐标为i的格子.可以看做是填完(i,i,i)后,所有三维坐标中最小值为i的格子就可以填了.这样的格子数量容易计算.于是考虑将格子依次塞进排列,显然第一位只能放(k,k,k…
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…
problem \(\mathtt {loj-3119}\) 题意概要:一个 \(n\times m\times l\) 的立方体,立方体中每个格子上都有一个数,如果某个格子上的数比三维坐标中至少有一维相同的其他格子上的数都要大的话,我们就称它是极大的.将 \(n\times m\times l\) 的排列随机填入这些格子,求恰有 \(k\) 个极大的数的概率.\(T\) 组数据. \(T\le 10,\ 1\le n,m,l\le 5\times 10^6,\ 1\le k \le 100\)…
原题传送门 毒瘤计数题 我们设\(dp_i\)表示至少有\(i\)个极大数字的概率,\(ans_i\)表示恰好有\(i\)个极大数的概率,\(mi=Min(n,m,l)\) 易知: \[dp_i=\sum_{j=i}^{mi} ans_j \tbinom{j}{i}\] 由二项式反演得: \[ans_i=\sum_{j=i}^{mi} dp_j \tbinom{j}{i} (-1)^{j-i}\] 我就不在此证明(实际是我不会证明) 所以我们只需要快速求出dp数组,就珂以快速得到答案 我们需要利…
传送门 为了方便我们设\(N\)是\(N,M,L\)中的最小值,某一个位置\((x,y,z)\)所控制的位置为集合\(\{(a,b,c) \mid a = x \text{或} b = y \text{或} c = z\}\) 发现恰好\(k\)个位置不大好算,考虑容斥计算强制\(k\)个位置是极大值的概率 对于极大值所在位置的数\(a_1,a_2,...,a_k\),假设\(a_1 > a_2 > ... > a_k\),那么我们还需要满足\(a_1 \geq a_1\)所在位置控制的…
这题七次方做法显然,但由于我太菜了,想了一会发现也就只会这么多,而且别的毫无头绪.发现直接做不行,那么,容斥! f[i]为至少i个极值的方案,然后这里需要一些辅助变量,a[i]表示选出i个三维坐标均不相同的i个极大值的方案数,g[i]表示i个极大的数任意一个至少有一维坐标相同的点的个数,h[i]表示g[i]的极值可以同时存在的方案数,那么有f[i]=C(nml,g[i])a[i]h[i](nml-g[i])!. a[i]很容易求得,就是(∏(n-j)(m-j)(l-j))/i!,其中j∈[0,i…
洛谷题面传送门 二项式反演好题. 首先看到"恰好 \(k\) 个极大值点",我们可以套路地想到二项式反演,具体来说我们记 \(f_i\) 为钦定 \(i\) 个点为极大值点的方案数,那么 \[ans=\dfrac{1}{(nml)!}\sum\limits_{i=k}^{\min(n,m,l)}f_i(-1)^{i-k}\dbinom{i}{k} \] 考虑怎么求 \(f_i\),首先我们肯定要选出 \(i\) 个极大的位置.我们假设 \(g_i\) 为选出 \(i\) 个极大的位置的…
[CTS2019]随机立方体(容斥) 题面 LOJ 洛谷 题解 做这道题目的时候不难想到容斥的方面. 那么我们考虑怎么计算至少有\(k\)个极大值的方案数. 我们首先可以把\(k\)个极大值的位置给确定出来,方案数是\(\displaystyle {n\choose k}{m\choose k}{l\choose k}(k!)^3\),乘上\(k!\)是为了确定之间的顺序关系,即我们先确定\(xyz\)三维,然后把这三维要一一对应到点才行.假设这个值是\(w[k]\). 剩下要填的是两个部分,一…
「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\)个数字…
题目 ​ 一个 $ n m l $ 的立方体等概率填入 $ 1-nml $ ; ​ 定义一个位置是极大的当且仅当这个位置比三位坐标的至少一维与之相等的位置的值都大. ​ 询问极大值恰好有\(k\)个的概率 ​ $1 \le n,m,l \le 5000000  ,  1 \le k \le 100 , 1 \le T \le 10 $ 题解 由于平时不注意部分分所以CTS考得很难看,会改一改写博客的风格QAQ 二项式反演 \[ \begin{align} f_i = \sum_{j\le i}(…
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…
题目传送门 https://loj.ac/problem/3119 现在 BZOJ 的管理员已经不干活了吗,CTS(C)2019 和 NOI2019 的题目到现在还没与传上去. 果然还是 LOJ 好. 题目 恰好有 \(k\) 个极大数不太好求,我们还是转化成二项式反演. 然后就变成了给定一个点的集合 \(S\),求钦定 \(S\) 中的点是极大点的方案数.可以发现 \(S\) 中的点因为必须要保证没有一维的坐标相同,所以到底是哪些点是不重要的,有用的只有 \(|S|\).所以问题转化为钦定了…
题目传送门:LOJ #3119. 题意简述: 题目说的很清楚了. 题解: 记恰好有 \(i\) 个极大的数的方案数为 \(\mathrm{cnt}[i]\),则答案为 \(\displaystyle\frac{\mathrm{cnt}[k]}{(nml)!}\). "恰好"这个词非常的难受,我们考虑容斥: 记 \(\mathrm{f}[i]\) 为存在 \(i\) 个极大的数的方案数,若恰好有 \(j\) 个极大的数,会被相应地统计 \(\displaystyle\binom{j}{i…
博客链接 里面有个下降幂应该是上升幂 还有个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…
题解 用容斥,算至少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 -…
分析 感觉这道题的计数方法好厉害.. 一个直观的思路是,把题目转化为求至少有\(k\)个极大的数的概率. 考虑这样一个事实,如果钦定\((1,1,1),(2,2,2),...,(k,k,k)\)是那\(k\)个极大值的位置,并且\(val(1,1,1) < val(2,2,2) < ... < val(k,k,k)\).我们考虑依次确定这些值,显然\(val(1,1,1)\)的值是和它至少有一维相同的\(n \times m \times l - (n-1) \times (m-1) \…
好神的一道计数题呀. 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]…
解:极大值至少为1.我们尝试把最大那个数的影响去掉. 最大那个数所在的一层(指一个三维十字架)都是不可能成为最大值的. 考虑容斥.我们试图求除了最大值以外至少有k个极大值的概率. 我们钦定某k个位置是极大值,且钦定顺序.这样的方案数有ni↓mi↓Li↓种. 考虑每种方案的概率.从小到大考虑,对于最小的那个极大值,如果是极大值,就要大于一个三维十字架中的所有数,这样的概率是1 / 集合大小. 对于次小极大值,它要大于自己的三维十字架和最小值的三维十字架的并.概率还是1 / 集合大小. 于是依次考虑…
Day -18 被各路julao们轮番吊打-- Day -12 鸽子F发布了笔试题库,然而并没有 "MLE全场记零分" 的操作 Day -8 广二体育馆机器装配完毕,误闯开幕式表演排练场地 Day 0 报到 (前两天和boshi在讨论明年我们校举办NOI时要在报到现场兜售NOI主题的商品,肯定销量很好) 然而--刚进广二报到大厅就看到"NOI限量商品展"(好像是叫这个名字来哈),卖衣服.帽子和胸章啥的(印了一些"每天AU,双份开心"."…
A:显然排序即可. #include<bits/stdc++.h> using namespace std; #define ll long long #define inf 1000000010 #define N 1010 char getc(){char c=getchar();while ((c<'A'||c>'Z')&&(c<'a'||c>'z')&&(c<'0'||c>'9')) c=getchar();retur…
T1 题意:\(n\)个变量,\(0 \leq x_i \leq c_i\),求\(\sum x_i = A\)方案数.\(n \leq 32\). Sol: \(n \leq 10\)的时候容斥很水,然而生成函数掉线了. \(n \leq 32\)的时候,dls:"显然Meet in Middle."然后我又掉线了 全世界就我不会生成函数 T2 题意:求\(0\)到\(2n-1\)的排列\(p\)的个数,使得对于任意的\(i\),\(n^2 \leq i^2+p_i^2 \leq 4…
浅谈[0,1]区间内的n个随机实数变量中增加偏序关系类题目的解法 众所周知,把[0,1]区间内的n个随机.相互独立的实数变量\(x_i\)之间的大小关系写成一个排列\(\{p_i\}\),使得\(\forall i<n, x_{p_i} < x_{p_{i+1}}\),那么有一个结论是所有的排列都是等概率出现的,这完全不难理解,因为所有的变量都是可以轮换的. 但是,题目显然不会这么简单,有些题目会给一定的条件限制,例如强制一些偏序关系\(p_u<p_v\),对于这种情况,一般要求给定的偏…
目录 #1. A + B Problem #2. Hello, World! #3. Copycat #4. Quine #7. Input Test #100. 矩阵乘法 #101. 最大流 #102. 最小费用流 #103. 子串查找 #104. 普通平衡树 #108. 多项式乘法 #119. 非负权单源最短路 #130. 树状数组 1 :单点修改,区间查询 #139. 树链剖分 #161. 乘法逆元 2 #556. 「Antileaf's Round」咱们去烧菜吧 #2030. 「SDOI…
第13章 四大变换 在Direct3D中,如果为进行任何空间坐标变换而直接绘图的话,图形将始终处于应用程序窗口的中心位置,默认这个位置就成为世界坐标系的原点(0,0,0).而且我们也不能改变观察图形的视角方向.默认情况下的观察方向是世界坐标系的z轴正向方向. 世界变换运算是为了能在世界空间中的指定位置来绘制图形 取景变换运算是为了以不同的视角观察图形 投影变换为了将相对较远的图形投影到同一个平面上并体现出“近大远小”的真实视觉效果 视口变换是为了控制显示图形的窗口大小,比例等信息 1. 世界变换…
AGC036F Square Constriants 一定有 \(l_i<p_i\le r_i\). 考虑朴素容斥,枚举每个数是 \(\le l_i\) 还是 \(\le r_i\).对于 \(p_i\le x_i\),方案数是:把 \(x\) 排序后 \(\prod(x_i+1-i)\)(下标从 \(0\) 开始). 太慢了. 把 \(l_0\) 到 \(l_{n-1}\),\(r_0\) 到 \(r_{2n-1}\) 一起排序.(\(l_n\) 到 \(l_{2n-1}\) 不用管,他们非正…
自闭集训 Day1 组合计数 T1 \(n\le 10\):直接暴力枚举. \(n\le 32\):meet in the middle,如果左边选了\(x\),右边选了\(y\)(且\(x+y\le B\)),那么对答案的贡献就是 \[ {B-x-y+n-1\choose n-1} \] 根据范德蒙德恒等式 \[ {a+b\choose n} =\sum_{i=0}^n {a\choose i}{b\choose n-i} \] 所以上面可以拆开成 \[ \sum_{i=0}^{n-1} {C…
有幸运有遗憾 一切都是最好的安排. Day-3 临近NOI了,机房都在狂奶某某同学进队稳了 HE省队垫底,THUSC面试都没进 作为一个有自知之明的人 也就指望着能拼进前100,至少也拿个银牌. 心态良好 下午,我们敬爱的szl校长做了最终动员, 还是做好的PPT,还是到录播教室进行 “一切都是最好的安排” “每逢大事必有静气” “坚持到最后一刻” “狭路相逢勇者胜” ——信静最勇! 真正好评.jpg 感觉无论如何都要对得起自己的2年竞赛生涯啊~ Day-2 早上专门去儿童活动中心散散心~ 一路…
(upd:随机立方体AC) 太菜了只会部分分.以后慢慢补坑吧…… 随机立方体: 30分: 正常人都能想到的的转移状态(我的确是弱智),从大往小填数,记录有多少个极大值点和三个方向上各占了多少.转移可以计算. #include<iostream> #include<cstdio> #include<cstring> using namespace std; #define upd(x,y) x+=y,x%=P typedef long long i64; ; ; ][N]…
如果直接dp,状态里肯定要带上已走过的点的集合,感觉上不太好做. 考虑一种对期望的minmax容斥:其中Max(S)为遍历完S集合的期望步数,Min(S)为遍历到S集合中一个点的期望步数.当然才不管怎么证,反正看上去非常优美. 设f[i][S]为由i节点出发的Min(S),显然有f[i][S]=Σf[j][S]/di+1.暴力高斯消元复杂度就炸掉了. 注意到给出的是一棵树,现在连这个性质都没用到当然没法做.根据一个我没见过的套路,可以考虑把f[i]表示成a·f[fa]+b的形式,大力推一波式子就…
考虑外向树怎么做.显然设f[i][j]为i子树中出现权值和为j的合法方案的概率,转移做树形背包即可. 如果树上只有一条反向边,显然可以先不考虑该边计算概率,再减去将整棵树看做外向树的概率.于是考虑容斥,进一步拓展到多条反向边,就是考虑0条反向边的概率-考虑1条反向边的概率+考虑2条反向边的概率……容斥可以在dp中完成,即遇到反向边时分是否考虑它转移,若考虑乘上-1的系数. #include<bits/stdc++.h> using namespace std; #define ll long…