随笔分类 - 线性代数
摘要:线性基好题 首先,如果一条路径被经过了两次,那么这条路径上的权值等于没有(废话) 基于这一点,我们其实已经找到了解决问题的方法了! 首先,由于可以反复经过一条边,因此我们可以把一条合法的路径看成这样的结构: 从到有一条链,这条链上挂着一些环,答案是链的贡献异或环的贡献(因为从链到环的边一
阅读全文
摘要:有人说这题像游走... 关于游走的思想,他死了... 明明直接从期望dp的角度考虑更简单合理嘛 首先由于是异或运算不妨逐位考虑 对于每一位,设状态表示从第个点到第个点,这一位上是的概率 那么我们按边权讨论转移: 若这条边边权为:$f[i]+=\frac{1-f[t
阅读全文
摘要:考虑容斥,容斥系数-1 首先不难发现,如果没有一个公司一条边这个限制的话,就是一个很简单的矩阵树定理了 可是有了这个限制,就会出现重复 因此我们用容斥原理来解决 我们枚举哪个(些)公司没被用到,对剩下的公司跑矩阵树定理,乘一个容斥系数累计贡献即可 时间复杂度 代码:
阅读全文
摘要:矩阵树定理裸题 首先介绍一下矩阵树定理: 矩阵树定理是用来解决一个图上生成树个数的问题,可以分为无向图矩阵树定理和有向图矩阵树定理,而本题应用的是无向图矩阵树定理 那么首先提出几个概念: 一.邻接矩阵: 这个应该都知道... 就是这样一个矩阵:第行第列的元素为1的条件是当且仅当$(u,v
阅读全文
摘要:高斯消元解期望方程组题目 其实所谓解期望方程组,就是解普通方程组,只是这个方程组是根据期望的定义列出的。 对于本题,每一条边对总期望的贡献就是这条边的边权乘上这条边期望的经过次数,所以我们求出每条边期望的经过次数后从大到小排序,然后从小到大赋边权(编号)即可 所以问题就转化成了如何求出每条边经过次数
阅读全文
摘要:裸的高斯消元解异或方程组问题 对于每个点列一个异或方程,所有影响这个点的点的对应系数为1,然后高消解一下就好 自由元用dfs处理,注意剪枝
阅读全文
摘要:首先你需要一些Nim游戏的知识! 看这里 现在假设你已经会了Nim游戏的知识了 那么我们就可以讨论这道题了 首先,根据上面提到的:如果所有数量异或和为0,那么这就是不合法的 而且,其实由于后手可以取走一些堆,所以只要是这些堆数量的一个子集异或和为0就是不合法的(因为后手可以把这个子集以外的部分全取走
阅读全文
摘要:裸的线性基+贪心... 把权值从大到小排序后逐个将编号插入线性基中,如果这个编号已经能用线性基中的值表示出来了就不插入 为什么这么做是正确的? 线性基定义 我们希望总权值最大,所以当然从大到小排序 然后逐个插入线性基中,如果我们惊喜地发现这个值已经能用线性基中元素表示出来,说明线性基中一定存在一个元
阅读全文
摘要:据说是裸题... 据说这个东西叫实数线性基... 我说这个毒瘤题卡精度!!! 吐槽结束,进入正文: 本题的核心思想:贪心!按代价从小到大排序后插入线性基,如果能表示出来就不插入,但这里的插入是高斯消元的方法进行的。 然后我们讨论几个问题: 第一:不用考虑购买装备数最多这个问题! 这是在读题时第一个进
阅读全文
摘要:还是高斯消元解异或方程组 如果这个你不会,请看这里 现在假定你已经会这个东西了 那么我们就可以构造模型了 首先有一个很显然的结论:一个开关至多只需要按一次!(因为按两次等于不按,按三次等于按一次....) 我们设一盏灯开的状态为1,关的状态为0,那么我们的目标就是把所有灯的状态都改成1 那么能影响到
阅读全文
摘要:高斯消元解异或方程组裸题 首先介绍一下异或方程组:异或方程组是形如^^...^=()的一组方程,我们的目的是求出x_i的值 乍一看,这好像并不好做,最暴力的方法是枚举 但是有了高斯消元,我们就可以不这么暴力了,而是
阅读全文
摘要:一道好题,利用kmp维护递推再更新矩阵乘法 这题首先可以递推: 设状态f[i][j]表示长串更新到了i位置,已经匹配短串匹配了j个数 那么我们有转移: f[i][get_nxt(j)]+=f[i-1][j-1] 当然,你并不懂这是什么意思 我们挨个解释一下 主题思想就是在前面放好的j-1个字符的基础
阅读全文