ZROI 19.07.28 组合计数/lb
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 4n^2\)。\(1\leq n \leq 250\)。
Sol:
显然可以转换为\(l_i \leq p_i \leq r_i\)的形式。
考虑只有\(r_i\)限制的时候,可以按照\(r_i\)排序,然后乘法原理。
直接容斥\(l_i\)并不可做,但是题目有一些性质:
\(l_i,r_i\)都是递减的,且\(\{ r_0, …,r_{n-1}\}\)最大,\(\{ l_0,…,l_{n-1}\}\) 和 \(\{ r_n, …,r_{2n-1}\}\)混杂。
转化一下,变成了如下序列:前半部分\(a, b\)混合,后半部分只有\(c\),且\(a, c\)之间两两配对,每对只能选一个,每个\(b\)必选。总权值是\(\prod (val_i-rk_i)\times (-1)^{|a|}\)。
考虑外层枚举\(a\)的个数,内层dp中,\(f_{i,j}\)表示前\(i\)个选\(j\)个\(a\)的权值积,这样每次不管遇到什么元素都可以算出排名。
终于有听懂的题了qwq
dlstxdy!
T3 Loj #575
题意:给定相邻元素间的大小关系,求排列数。\(n \leq 10^5\)。
Sol:
dls:“\(10^5\)是垃圾法法塔,考虑\(n^2\)就好了。”
发现大于=无限制-小于。
把若干大于转成无限制或小于,原序列变成了若干段,每段都是递增序列,答案显然是\(\frac{n!}{\prod p_i!}\),随便dp就好了。
每次转移一整段,把这一整段的大于全推平。
T4
题意:\(n \times m\)的矩阵,初始均为\(0\),每行每列可以选一个前缀\(+1\),求本质不同的矩阵数。\(n, m \leq 10^6\)。
Sol:
dls:“除了行和列的两个前缀恰好形成反L型的两种情况之外,别的都不会重复。”
证明?naidesu
可以硬点其中的某一种不合法,枚举有\(i\)行\(i\)列不合法,容斥系数大概长这样:
\[(-1)^i C(n, i) C(m, i) i!(n+1)^{m-i}(m+1)^{n-i}\]
\(i!\)的意义是\(i\)行,每行选一列去配对。
难点不在容斥,而在于猜结论。
T5 CTS2019 随机立方体
Sol:
结论1:\(n\)个数,每个数都是\([0,1]\)之间的随机实数,等价于一个\([1,n]\)的排列。
结论2:\(n\)个点的树,每个点对应一个排列中的元素,使得树形成小根堆的形式,方案数为\(\frac{n!}{\prod_i^n size_i}\)。
先考虑二维,稍后拓展到三维。
显然\(k\)个极大值不会在同一行或同一列,考虑\(k\)个中最小的,它所在的行和列都要小于它。对于次小值,有两行两列要小于它。以此类推,发现形成了类似树形的结构,利用上面的结论可以算出方案数。
扩展到三维也很容易,只需要多乘一维即可。
但是这样不“恰好”,可能会有更多极大值的情况。
二项式反演即可。
dls:“这题是CTS里简单的那种,虽然也有国家队选手不会做。”
dlstsdy!
T6
题意:\(n\)个点,每次随机两个点连边,问期望多少步之后联通。\(n \leq 100\)。
Sol:
SD省集讲过,虽然我忘得差不多了
Min-Max容斥对期望也适用,因为取并操作的最大次数期望,不能简单的求出每个元素的最大值再取Max。但是最小次数期望就很可做,因为它的意义是最早出现的元素出现的时间,只需要从总的减去没选到这个集合的概率即可。
Min-Max期望例题:\(n\)个元素的集合,每次生成子集\(S\)的概率为\(p_S\),问并为全集的期望步数。
对每个集合算出“选不到这个集合的任何一个元素”的概率,直接反演即可。
dls讲了个看起来很神的连通图计数的做法,大概听懂了一点,式子太长不记了
dls:这题和Min-Max反演没关系,大家散了吧mmp
T7
题意:长度为\(n\)的序列,每次随机一个区间染黑,问期望全黑步数。\(n \leq 100\)。
Sol:
同样是Min-Max容斥,现在需要对每个集合求出“一次染色染不到这个集合的概率”,但是不能硬做。
假设硬点了序列上若干个格子,那么能染的一定是若干个区间,可以dp。
设\(f_{i, j, k}\)是前\(i\)个元素,最后一段连续不选的长度为\(j\),一共有\(k\)个合法的区间的容斥系数和。枚举第\(i\)个元素选不选,分别转移即可。
Min-Max反演的核心就是考虑如何算出“选不到这个集合”的概率。
T8
题意:\(n \times m\)的网格,有些格点不可达。问从\((1, 0)\)到\((n-1,m)\)和\((0,1)\)到\((n,m-1)\)两条不相交路径的方案数。
Sol:
对于每条相交路径,从第一个交点翻转,可以一一对应一个从\((1, 0)\)到\((n,m-1)\)和\((0,1)\)到\((n-1,m)\)的路径(因为这样的路径必然有交点)。
可以扩展到\(k\)组起终点的情况,但是都需要“必然相交”的条件。(LGV Lemma)(最后会生成一个\(k\)行列式)
T9
题意:在\(n \times m\)的网格里填\([1,k]\)(可重复),要求每个元素都大于等于右边或下边的元素,求方案数。
Sol:
可以杨表做,但是dls想教我们LGV Lemma。
把每个数字的轮廓线拉出来,向左上平移一格,就变成严格不相交路径条数了。
T10 EI与菱形计数
Sol:
SD省集也讲过……不过是yfz讲的。
发现这东西是个立体图,有杨表性质。
(貌似)可以用杨表解的东西都可以转成LGV Lemma?
ZROI 19.07.28 组合计数/lb的更多相关文章
- ZROI 19.07.28 序列数据结构/jk
写在前面 dls:"我不会数据结构,但是APIO的数据结构场我写了,还是蛮简单的." T1 CF643G Sol: 有一个\(O(n\log^2n)\)的做法:假设将区间排好序,取 ...
- ZROI 19.07.30 简单图论/kk
1.最短路 NOI2019 D2T1 我被这题送Fe了/lb 只有zz才会写二维线段树,比如我. 实际上你只需要矩形取min就可以. kd-tree可以随便过,最慢的点\(0.1s\). 另外一种简单 ...
- ZROI 19.07.29 线性代数入门/wq
1.高斯消元 在模意义下依然有效,对主元求逆即可. 甚至可以模合数,需要对两个方程辗转相除,复杂度\(O(n^3\log p)\). 辗转相除法只要能定义带余除法就有效. 逆矩阵:对于矩阵\(A\), ...
- ZROI 19.07.30 简单字符串/ll
写在前面:今天下午药丸--不会字符串,全程掉线/ll 给出字符串\(S\),\(q\)次询问,每次给出\(a,b,c,d\),询问\(S[a,b]\)的所有子串和\(S[c,d]\)最长公共前缀的最大 ...
- ZROI 19.07.31 AB班ACM
写在前面:非常感谢cjc和djh两位神仙带我,非常感谢他们给了我一次躺赢的机会. 虽然我被硬点成了代码手,但我写的基本每次都有一堆罚时.然而djh爷全部1A,tql. 题目按照一血时间升序,大致符合难 ...
- bzoj 2281 [Sdoi2011]黑白棋(博弈+组合计数)
黑白棋(game) [问题描述] 小A和小B又想到了一个新的游戏. 这个游戏是在一个1*n的棋盘上进行的,棋盘上有k个棋子,一半是黑色,一半是白色. 最左边是白色棋子,最右边是黑色棋子,相邻的棋子颜色 ...
- 07-09 07:28:38.350: E/AndroidRuntime(1437): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.googleplay.ui.activity.MainActivity" on path: DexPathList[[zip file "/data/app/c
一运行,加载mainActivity就报错 布局文件乱写一通,然后急着运行,报莫名其妙的错误: 07-09 07:28:38.350: E/AndroidRuntime(1437): Caused b ...
- BZOJ 4555: [Tjoi2016&Heoi2016]求和 [分治FFT 组合计数 | 多项式求逆]
4555: [Tjoi2016&Heoi2016]求和 题意:求\[ \sum_{i=0}^n \sum_{j=0}^i S(i,j)\cdot 2^j\cdot j! \\ S是第二类斯特林 ...
- BZOJ 4555: [Tjoi2016&Heoi2016]求和 [FFT 组合计数 容斥原理]
4555: [Tjoi2016&Heoi2016]求和 题意:求\[ \sum_{i=0}^n \sum_{j=0}^i S(i,j)\cdot 2^j\cdot j! \\ S是第二类斯特林 ...
随机推荐
- java常用加密算法
常用加密算法的Java实现(一) ——单向加密算法MD5和SHA 日期:2014/6/1 文:阿蜜果 1.Java的安全体系架构 1.1 Java的安全体系架构介绍 Java中为安 ...
- 【C语言工具】AddressSanitizer - 内存检测工具
Github 地址:https://github.com/google/sanitizers Wiki 地址:https://github.com/google/sanitizers/wiki/Add ...
- 【ABAP系列】SAP ABAP smartforms设备类型CNSAPWIN不支持页格式ZXXX
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP smartfo ...
- 深入理解java:1.1.1. 反射机制
反射 到底什么是反射(Reflection)呢? 反射有时候也被称为内省(Introspection),事实上,反射,就是一种内省的方式, Java不允许在运行时改变程序结构或类型变量的结构,但它允许 ...
- CentOS7编译安装sshpass过程
环境说明:centos 7 cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) 我的sshpass版本 sshpass-1.06. ...
- [转帖]安全公告【安全公告】CVE-2019-0708远程桌面服务远程代码执行漏洞
[安全公告]CVE-2019-0708远程桌面服务远程代码执行漏洞 https://www.landui.com/help/nshow-9716.html 漏洞层出不穷 漏洞信息: 2019年5月14 ...
- MyEclipse img显示问题
MyEclipse第一个例子,通过HTML的img显示图片,费两天的功夫,故作简单整理,图片2不显示根本原因还是src的路径不对. 选中project中的sr.jpg文件,运行查看浏览器显示的地址,此 ...
- Spark启动流程(Standalone)- master源码
Master源码 package org.apache.spark.deploy.master //伴生类 private[deploy] class Master( override val rpc ...
- 拦截器Interceptor和过滤器Filter的区别
(1)过滤器(Filter):当你有一堆东西的时候,你只希望选择符合你要求的某一些东西.定义这些要求的工具,就是过滤器.(理解:就是一堆字母中取一个B) (2)拦截器(Interceptor):在一个 ...
- Java 14 可能带来什么新特性?
JDK/Java 13 在一个月前已经发布,该版本带来了 5 大新特性,笔者观察到其中的 Text Blocks(文本块)特性似乎被讨论最多. 文本块特性与常见的 Python "" ...