高斯消元
Winterfell30
这个作者很懒,什么都没留下…
展开
-
POJ 1830 开关问题 (01高斯消元)
题意有n个开关,按动按钮可以改变灯泡的开关状态,有些开关之间是有联系的,给出初始状态和目标状态,求是否可行,如果可行,求方案数目。思路我们可以另矩阵[x1,x2...xn][x_1,x_2...x_n]来表示解集,即第i个开关需要按动的次数,最后的状态即[b1,b2...bn][b_1,b_2...b_n],原状态是[a1,a2...an][a_1,a_2...a_n],即A*X=B,这里没有要求解原创 2016-04-26 14:38:50 · 477 阅读 · 0 评论 -
POJ 1681 Painter's Problem (高斯消元)
题意和POJ的1222差不多,把一个格子变色然后相邻的4个也会变色,求令其全部变成黄色需要的最少步数。思路POJ1222当时直接状态压缩枚举过的,这题数据也比较小,应该可以状压DP来做,不过复杂度而论当然还是高斯消元要好。 我们可以先预处理出一个n2∗n2n^2*n^2的方程组然后搞死小圆(误 消元的时候求出自由变元存在数组里,然后状态压缩来枚举自由变元求一下利用这些自由变元求出目标状态(全0)原创 2016-04-26 20:53:01 · 389 阅读 · 0 评论 -
SGU 275 To xor or not to xor (贪心+高斯消元)
题解从这个数列里面取出一些数,异或最大,求他们的异或值。思路显然要求异或最大我们首先要把这些数表示成二进制形式,然后从高到低按位查找,如果这一位存在一个数是1就取这个数,然后异或之后这一位就是1了。取了这个数之后这个数的低位自然也要取,所以我们用高斯消元回代的形式来维护当前位的异或值。代码#include <stdio.h>#include <string.h>#include <iostrea原创 2016-04-28 13:55:53 · 495 阅读 · 0 评论 -
SDUT 2878 Circle (高斯消元)
题意初始时站在0点,每次有0.5的几率左移一格或者右移一格,求移动到x格的期望。思路显然我们能写出来Exp[i]=0.5\*Exp[i−1]+0.5\*Exp[i+1]+1Exp[i] = 0.5\*Exp[i-1]+0.5\*Exp[i+1]+1 这样的式子我们能写出n个,然后这个式子转化一下变成Exp[i]−0.5\*Exp[i−1]−0.5\*Exp[i+1]=1Exp[i]-0.5\*Ex原创 2016-04-28 16:45:54 · 459 阅读 · 0 评论