随笔分类 - 线性代数 高斯消元
摘要:【题意】给定一棵树的灯,按一次x改变与x距离<=1的点的状态,求全0到全1的最少次数。n<=100。 【算法】高斯消元解异或方程组 【题解】设f[i]=0/1表示是否按第i个点的按钮,根据每个灯的亮灭可以列出n个方程:a[i][j]表示第i盏灯是否受开关j影响,a[i][n+1]=a[i][i]=1
阅读全文
摘要:【题意】给定n个点m条边的无向连通图,每条路径的代价是其编号大小,每个点等概率往周围走,要求给所有边编号,使得从1到n的期望总分最小(求该总分)。n<=500。 【算法】期望+高斯消元 【题解】显然,应使经过次数越多的边编号越小,问题转化为求每条边的期望经过次数。 边数太多,容易知道f(u,v)=f
阅读全文
摘要:【题意】给定无向图,炸弹开始在1,在每个点爆炸概率Q=p/q,不爆炸则等概率往邻点走,求在每个点爆炸的概率。n<=300。 【算法】概率+高斯消元 【题解】很直接的会考虑假设每个点爆炸的概率,无法转移。每个点不爆炸的概率,也无法转移。 因为爆炸概率相同,那么每个点爆炸的概率应该和到达该点的概率正相关
阅读全文
摘要:【题意】给定n个点m条边的带边权无向连通图(有重边和自环),在每个点随机向周围走一步,求1到n的期望路径异或值。n<=100,wi<=10^9。 【算法】期望+高斯消元 【题解】首先异或不满足期望的线性,所以考虑拆位。 对于每一个二进制位,经过边权为0仍是x,经过边权为1变成1-x(转化成减法才满足
阅读全文
摘要:【题意】给定n盏灯的01状态,操作第 i 盏灯会将所有编号为 i 的约数的灯取反。每次随机操作一盏灯直至当前状态能够在k步内全灭为止(然后直接灭),求期望步数。n,k<=10^5。 【算法】期望DP 【题解】对于当前状态,编号最大的亮灯必须通过操作自身灭掉。 证明:假设通过操作编号更大的灯灭掉,那么
阅读全文
摘要:【算法】高斯消元-异或方程组 【题解】良心简中题意 首先开关顺序没有意义。 然后就是每个点选或不选使得最后得到全部灯开启。 也就是我们需要一种确定的方案,这种方案使每盏灯都是开启的。 异或中1可以完美实现取反。 故令xi表示第i盏灯的开关情况,然后对每盏灯的亮灭列方程,即 (1*x1)^(1*x2)
阅读全文
摘要:【算法】高斯消元 【题解】 高斯消元经典题型:异或方程组 poj 1222 高斯消元详解 异或相当于相加后mod2 异或方程组就是把加减消元全部改为异或。 异或性质:00 11为假,01 10为真。与1异或取反,与0异或不变。 建图:对于图上每个点x列一条异或方程,未知数为n个灯按不按,系数为灯i按
阅读全文
摘要:【算法】高斯消元 【题解】 建矩阵; for i 找到同列绝对值最大数字; 交换; for k(行) j(列)(倒序) 除法; for i(倒序) for j 减去已知元素 除到右边; #include<cstdio> #include<algorithm> #include<cmath> #inc
阅读全文
摘要:【数论】数论——onion_cyc 【计数问题】计数问题(排列组合,容斥原理,卡特兰数)——onion_cyc 【概率与期望】链接 【链与反链】链接 【生成树计数(矩阵树定理)】专题链接 【快速幂】 原理:将指数化为二进制再分为若干个数相乘。 每次自己乘自己相当于平方,增加二进制权。 int qui
阅读全文
摘要:【算法】 【算法】网络流 【算法】树 【算法】数学 ————【专题】生成树计数(矩阵树定理) ————【专题】计数问题(排列组合,容斥原理,卡特兰数) ————【算法专题】卡特兰数(计数数列) ————【专题】数论 ————【专题】概率和期望 【算法】动态规划 【算法】数据结构 ————【专题】平衡
阅读全文