首页 > 其他分享 >『联合省选2025集训』『矩阵树定理,LGV引理,行列式』 Day8 略解

『联合省选2025集训』『矩阵树定理,LGV引理,行列式』 Day8 略解

时间:2025-01-03 21:34:58浏览次数:1  
标签:... Day8 省选 text 矩阵 略解 times 行列式 mathcal

前言

许多人所谓的成熟,不过是被习俗磨去了棱角,变得世故而实际了。

这两天的线性代数属实是要给我创破防了。

拼尽全力战胜基础题目之后,难的题目偏的偏怪的怪,还有一堆不会的数学知识点,我还是摆烂了吧。

先稍做一下总结。

以及,我突然意识到总结的效率问题,或许我真的应该减少每道题目的题解长度(?

A

判断矩阵 \(A\times B=C\)。

使用随机赋权的经典套路,弄出一个矩阵 \(x\),显然满足 \(A\times B\times x=C\times x\)。

将矩阵 \(x\) 的大小设成 \(n\times 1\) 的,根据结合律先算 \(B\times x\) 再算 \(A\times (B\times x)\),时间复杂度 \(\mathcal{O}(n^2)\),是可以通过的。

\(\texttt{Code}\)

B

只讲第一问,第二问类似。

首先,本质上就是要去找到最大基的方案数,对于向量 \(A_1,A_2,...A_m\),他们线性无关可以通过行列式来刻画,即将这些向量拼起来的矩阵的 \(\textbf{Det}\) 不为 \(0\)。(显然,如果线性有关,那么上三角中的斜线必然有一个 \(0\)。)

然后有一个行列式的恒等式:

\[\boxed{\textbf{Det}(A\times B)=\sum_{S\in \begin{pmatrix} [n]\\m \end{pmatrix}} \textbf{Det}(A_{[m], S})\times \textbf{Det}(B_{S,[m]})} \]

其中,\(A\) 是 \(m\times n\) 的矩阵,\(B\) 是 \(n\times m\) 的矩阵,\([n],[m]\) 表示 \(1,2,...(n \ \text{or}\ m)\) 这里面的所有数,\(\begin{pmatrix} [n]\\m \end{pmatrix}\) 表示从 \(1,2,3,....,n\) 中选择 \(m\) 个数所构成的集合。

发现,本题本质上是要从 \(n\) 条向量中选择 \(m\) 条,跑行列式,如果非 \(0\) 就会产生一个贡献。

发现一个有趣的事实是,\(\forall x\in N^+,x^2\equiv 1 \pmod 3\)。

故方案数本质上就是向量所拼凑出来的 \(m\times n\) 的矩阵 \(A\),和其 \(n\times m\) 的置换 \(B\),答案就是 \(\mathbf{Det}(A\times B)\),证明采用刚才的恒等式以及模三的性质即可得到。

\(\texttt{Code}\)

C

感觉很没意思的硬套 \(\text{LGV}\) 的板子题目。

可以发现,奇数个交点和偶数个交点本质上对应的就是行列式中逆序对数为奇数和偶数的情况。

(其实说实话,就算真的无法对应,那能怎么做呢,猜也只能这么猜啊。。)

然后发现是 \(\text{DAG}\),可以求出任意起点到任意终点的方案数,直接上 \(\text{LGV}\) 板子即可。

\(\texttt{Code}\)

D

概率不用管他,直接求方案数然后除以 \(2^{n\times k}\)。

假设终点集合是 \((y_1,y_2,....,y_k)\)。由于要满足路径两两不相交,考虑直接上 \(\text{LGV}\) 引理,那么在当前终点集合确定的情况下,方案就是:

\[\boxed{\sum_{P} \ (-1)^{\sigma(P)}\times \prod _{i=1}^n \mathcal{B}(x_{P_i}\to y_{i})} \]

其中,\(P\) 是任意一个长度为 \(n\) 的排列, \(\mathcal{B}(x_{P_i}\to y_{i})\) 表示从 \(x_i\) 走到 \(y_{P_i}\) 的方案数,其实就是 \(C_{n}^{y_{i}-x_{P_i}}\)。

考虑根据这个式子,将逆序对的系数带进去进行 \(dp\)。

定义 \(dp_{i,S}\) 表示,当前 \(y_k\in [0,i]\) 已经对应了了所有 \(j\in S\) 的 \(x_j\) 的带权方案数(也就是考虑了逆序对的影响)。转移如下:

  • 如果新的 \(y_k\) 的位置不在 \(i\),那么 \(dp_{i,S}=dp_{i-1, S}\)。
  • 如果新的 \(y_k\) 位置在 \(i\),那么找到它对应的 \(x_j\),此时:\(dp_{i,S}=dp_{i-1,S\setminus j}\times (-1)^t \times C_{n}^{i-x_j}\)。(其中 \(t\) 表示 \(x_j\) 在已经填过的数中,会新产生的逆序对个数)

时间复杂度 \(\mathcal{O}(2^k\times (\max x + n))\)。

\(\texttt{Code}\)

E

还不错的题。

首先有一个基于 \(\text{LGV}\) 引理的一个很重要的进阶用法。

假设起点集合是 \(S\),终点集合是 \(T\)。那么从 \(S\to T\),可以找到的,最多的不相交路径数量就是:

\[\boxed{ \textbf{Rank} \begin{pmatrix} \mathcal{P}(S_1\to T_1) & \mathcal{P}(S_1\to T_2) & \mathcal{P}(S_1\to T_3) & ... & \mathcal{P}(S_1\to T_m)\\ \mathcal{P}(S_2\to T_1) & \mathcal{P}(S_2\to T_2) & \mathcal{P}(S_2\to T_3) & ... & \mathcal{P}(S_2\to T_m)\\ \mathcal{P}(S_3\to T_1) & \mathcal{P}(S_3\to T_2) & \mathcal{P}(S_3\to T_3) & ... & \mathcal{P}(S_3\to T_m)\\ ... &...&...&...&...\\ \mathcal{P}(S_n\to T_1) & \mathcal{P}(S_n\to T_2) & \mathcal{P}(S_n\to T_3) & ... & \mathcal{P}(S_n\to T_m)\\ \end{pmatrix} } \]

其中,\(\mathcal{P}(S_i\to T_j)\) 表示从 \(S_i\to T_j\) 的所有路径的权值之和。(一条路径的权值是其经过的边的权值的乘积,而一条边的权值可以通过随机赋权得到。)

可以发现,这个过程本质上就是一个求线性基大小的过程。

我们先假设 \(l\) 不会动的情况。相当于就是一直向右加 \(r\),每次加一个向量进去,然后求一遍当前矩阵的秩。

然后 \(l\) 会动的话,就考虑双指针,双指针对应的区间 \([l,r]\) 就是假设当前的 \(l\),然后找到最大的 \(r\) 使得当前矩阵的秩 \(\le k\)。然后考虑去维护所有的 \(k\) 的双指针即可。

不过双指针的话可能牵扯到带删除的线性基(即带上时间戳。)

时间复杂度 \(\mathcal{O}(n\times k^2)\)。

\(\texttt{Code}\)

H

中间的题不会,所以跳了。

考虑枚举每一个 \(k\),那么能用的边就是一定的。

相当于问题就转化成了,在剩下有用的边中,有多少种形成二分图完美匹配的方案,然后你还需要一个高维差分来得到最终答案。

考虑怎么去看二分图完美匹配的方案,发现题目中本质上只让我们求了是否存在。(但是显然不能直接最大匹配,因为你需要高维差分)

我们把当前剩下的边对应的邻接矩阵看做一个行列式。

我们发现,在行列式的暴力计算中,我们需要枚举一个排列,而实际上,这个排列就是对应的一个二分图完美匹配,而后面的权值的乘积对应的就是如果非 \(0\) ,那么这个完美匹配存在,否则不存在。

所以我们对每一个 \(k\) 的邻接矩阵做一个行列式,然后高维差分,如果当前 \(k\) 对应的值非 \(0\) 那么就有完美匹配,否则没有。

\(\texttt{Code}\)

后记

真的,好恶心啊,完全做不来,摆烂了。

标签:...,Day8,省选,text,矩阵,略解,times,行列式,mathcal
From: https://www.cnblogs.com/SFsaltyfish/p/18650941

相关文章

  • 2025 多校冲刺省选模拟赛 1
    2025多校冲刺省选模拟赛1切割蛋糕(cake)签到题本质上是求\(a\)序列最小满足所有前缀平均值均大于全局平均值的循环位移,由Raney引理启发,找到斜率\(\dfrac{s}{n}\)所经过截距最小的点,易知没有无解情况。时间复杂度\(O(n)\)。游乐园(park)可反悔贪心考虑答案小于等于\(k......
  • 「湖北省选模拟 2023」山路长环 / ring
    分析博弈论还是比较有意思的。首先考虑,一个段区间内部边权都为正,左右两端边权为\(0\),那么从一个位置一个方向走到\(0\)需要奇数步的话一定是先手必胜的,就直接往对应方向走并且把边清空即可,后手也必定只能往这个方向再走一步。如果两边都需要偶数步的话,先手必败,因为走不动/走一......
  • [luoguP10218/省选联考 2024] 魔法手杖
    题意给定\(a_1,a_2,\dots,a_n\)以及\(b_1,b_2,\dots,b_n\),满足\(a_i\in[0,2^k-1]\)以及\(b_i\geq0\),你需要给出\(S\subseteq\{1,2,\dots,n\}\)以及\(x\in[0,2^k-1]\)满足以下条件:\(\sum\limits_{i\inS}b_i\leqm\);满足以上条件的前提下,最大化\(val(S,x)......
  • 省选动态规划专题
    消失之物发现背包顺序无关,那么就支持\(O(n)\)撤销任何一个物品。时间复杂度\(O(nm)\)。当然也有唐氏的线段树分治和多项式解法,强行带个\(\log\)。code#include<bits/stdc++.h>#include<bits/extc++.h>//usingnamespace__gnu_pbds;//usingnamespace__gnu_cxx;usingn......
  • 2024省选联测1
    2024省选联测1题目来源:2024省选联测1\(T1\)HZTG5808.interval\(40pts\)原题:QOJ1173.KnowledgeIs..考虑按照左端点升序排序后反悔贪心。分别维护已经匹配的区间对和未被匹配的区间,若当前区间\(a\)可以和前面剩余的未被匹配的区间匹配则直接匹配;否则尝试找到......
  • 省选联测1
    hahaha,太菜了,成功垫底力。rank3,T1100pts,T20pts,T30pts.T1好像是神必贪心,写了个不知道对不对的做法,反正过了大样例,就这样吧。T2不会,写了个\(2^n\timesn\logm\)的暴力,可能是dpor图论?T3没读懂题。总结:菜。upd:T1过了,T2边权只有0/1我打什么dijkstra啊?T3是送分题?inte......
  • 『联合省选2025集训』『图的连通性进阶』 知识点 总结
    前言若有长风绕旗,那便是我在想你了。这周讲了个图论连通性板块的一些进阶知识,周六全国第一给我们讲了一些树上的问题,感觉树剖板块实现难度较大,后面几道偏思维的题会有些许好转。这里就先写写连通性相关的进阶的一些知识点吧。主要涵盖:耳分解,双极定向,三连通分量和一些重要的......
  • 省选集训 Day 3
    学习了新知识:边三连通,耳分解,双极定向下面是一些基础练习。linkA挺不错的问题。考虑将一个点作为\(G_0\),一个个加入耳来构造边双连通图。容易设计\(f_S\)并枚举子集转移,复杂度\(O(3^nn^2)\)左右。太劣了,考虑将拼耳的过程纳入DP。设\(f_{S,j,k}\)为当前图已经填入......
  • 省选集训 Day 4
    省选集训Day4linkA联合省选2023D1T2纯树形dp做法B感觉是套路题啊。首先可以反应过来求出取到每个\(v\)的最大\(k\),然后做后缀\(\min\)使用二分查找算答案。将一条边\((x,y)\)的边权设为\(\gcd(w_x,w_y)\)枚举\(\gcd\),拿出所有边权是其倍数的边出来建立一个新的......
  • 省选模拟赛 1
    link期望100+100+15,实际100+90+0,被卡常+写错文件名。A可以发现一个简单的dp,也就是设\(f_{l,r}\)为删光\([l,r]\)的答案,那么显然有:\[f_{l,r}=\min(\max(f_{l+1,r-1},w_{l,r}),\min_k\max(f_{l,k},f_{r,k}))\]现在是\(O(n^3)\)的,我们需要优化。我们发现,这支持二分答......