[CF736D]Permutations 题意:有一个未知长度为n的排列和m个条件,第i个条件$(a_i,b_i)$表示第$a_i$个位置上的数可以为$b_i$.保证最终合法的排列的个数是奇数.现在有m个询问,第i个询问是问你在去掉第i个条件后,最终合法的排列数是奇数还是偶数. $n\le 2000,m\le min(C_n^2,500000)$ 题解:神题,滚去学线代了. 因为在$\mod 2$意义下,-1和1相等,所以方案数是什么?如果把所给条件看成一个01矩阵的话,则答案就是这个矩阵对应的…
题意; 有n个装备,每个装备有m个属性,每件装备的价值为cost. 小哥,为了省钱,如果第j个装备的属性可以由其他准备组合而来.比如 每个装备属性表示为, b1, b2.......bm . 它可以由其他2个装备组合而成,则 b1=k1*a1+h1*c1.  b2=k1*a2+h2*c1.......bm=km*am+hm*cm这样的话,把属性看做是向量,是不是相当于2个m维度的向量,线性的表示了第三个向量呢? 那么,题目的意思就是在n个向量中,找出一组基,并且这一组基的价值和最小. 这相当于把…
高斯消元求行列式板子. #include<cstdio> #include<cmath> #include<algorithm> #include<cstring> using namespace std; const double EPS=0.00000001; #define N 105 int n; double B[N][N],A[N][N]; double guass_jordan() { double res=1.0; memcpy(B,A,si…
高斯消元求矩阵秩板子. #include<cstdio> #include<cmath> #include<algorithm> #include<cstring> using namespace std; const double EPS=0.00000001; #define N 105 int n,m; double B[N][N],A[N][N]; int guass_jordan() { memcpy(B,A,sizeof(A)); for(int…
高斯消元求逆矩阵板子. #include<cstdio> #include<cmath> #include<algorithm> #include<cstring> using namespace std; const double EPS=0.00000001; #define N 105 int n; double B[N][N*2],A[N][N*2],C[N][N]; bool guass_jordan() { memcpy(B,A,sizeof(A…
Central heating Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 614   Accepted: 286 Description Winter has come, but at the Ural State University heating is not turned on yet. There's one little problem: the University is heated only if…
转载自:http://hi.baidu.com/czyuan_acm/item/dce4e6f8a8c45f13d7ff8cda czyuan 先上模板: /* 用于求整数解得方程组. */ #include <iostream> #include <string> #include <cmath> using namespace std; ; int equ, var; // 有equ个方程,var个变元.增广阵行数为equ, 分别为0到equ - 1,列数为var…
思路:乍一看好像和线性代数没什么关系.我们用一个数组B表示第i个位置的灯变了没有,然后假设我用u[i] = 1表示动开关i,mp[i][j] = 1表示动了i之后j也会跟着动,那么第i个开关的最终状态为:u[1]*mp[1][i]^u[2]*mp[2][i]....^u[n]*mp[n][i](或者改为相加 % 2).显然,前式等于B[i],所以,问题转化为了求u的解个数:MP*U = B.注意MP矩阵的写法. 关于矩阵: r(A) = r(A,b)           有解 r(A) = r(…
题目链接: http://poj.org/problem?id=1222 题意: 有一个 5 * 6 的初始矩阵, 1 表示一个亮灯泡, 0 表示一个不亮的灯泡. 对 (i, j) 位置进行一次操作则 (i, j), (i + 1, j), (i - 1, j), (i, j - 1),  (i, j + 1) 位置的灯泡变为原来的相反状态, 输出一种能让所有灯泡都变成不亮状态的操作集合. 思路: 1. 可以先枚举第一行的所有操作集合, 2^6 种, 第一行的每一种操作后都得到一个灯泡状态集合,…
3143: [Hnoi2013]游走 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2264  Solved: 987[Submit][Status][Discuss] Description 一个无向连通图,顶点从1编号到N,边从1编号到M. 小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机选 择当前顶点的某条边,沿着这条边走到下一个顶点,获得等于这条边的编号的分数.当小Z 到达N号顶点时游走结束,总分为所有获得的分数…