摘要: 题目大意:给定一个 M 个含 N 个未知数的异或方程组,保证有解,若存在唯一解,给出至少需要几个方程才能得出唯一解,若不存在,直接输出不存在。 题解:异或方程组也满足类似初等行变换的操作,只不过所有的操作都是异或。依旧采用高斯消元来处理异或方程组,即:对于每列来说,从等于当前列的行号开始遍历每一行, 阅读全文
posted @ 2019-05-06 16:39 shellpicker 阅读(175) 评论(0) 推荐(0)
摘要: 代码如下 cpp include using namespace std; const double eps = 1e 7; struct matrix { vector mat; int n, m; matrix(int n, int m) : n(n), m(m) { mat.resize(n 阅读全文
posted @ 2019-05-06 14:55 shellpicker 阅读(124) 评论(0) 推荐(0)
摘要: 题目大意:给定一个 N 个点,M 条边的有向图,现有 Q 个询问,每次询问 X 到 Y 的最小密度路径是多少。最小密度路径的定义是路径长度除以路径边数。 题解:利用矩阵乘法,可以预处理出从 X 到 Y 恰好经过 K 条边的最短路是多少。对于每次询问,直接处理处理即可,时间复杂度为 $O(n^4)$。 阅读全文
posted @ 2019-05-06 12:04 shellpicker 阅读(294) 评论(0) 推荐(0)
摘要: 代码如下 cpp include using namespace std; const int mod=1e9+7; typedef long long LL; int n; void mulself(int a[3][3],int b[3][3]){ int c[3][3]={0}; for(in 阅读全文
posted @ 2019-05-06 10:23 shellpicker 阅读(192) 评论(0) 推荐(0)
摘要: 题目大意:给定两个序列 A、B,现可以将 A 序列的每一个元素的值增加或减少 C,求 $\sum\limits_{i=0}^{n 1}(a_i b_{i+k})^2$ 的最小值是多少。 题解:先不考虑环的问题,仅考虑 A 序列所有元素增加一个值 C,这将体现在最后的求和式中,即:求和式变成 $$\s 阅读全文
posted @ 2019-05-06 09:10 shellpicker 阅读(120) 评论(0) 推荐(0)
摘要: 题目大意:求 $$ E_{j}=\sum_{ij} \frac{q_{i}}{(i j)^{2}} $$ 题解:可以发现,这个和式隐藏着卷积的形式,即:设 $f(i)={1\over i^2}$,$g(i)=q_i$,则以上和式可以表示成 $$\sum\limits_{i=0}^j g(i)f(j 阅读全文
posted @ 2019-05-06 09:01 shellpicker 阅读(118) 评论(0) 推荐(0)