UVA 11538 Chess Queen: ∑ni=1C2n=12∑ni=1i2−1=12(∑ni=1i2−∑ni=11) 这样的话这个式子就可以O(1)计算,我的第一想法则是O(n)求前缀和
Page 109 UVA 11375 火柴: 可以参考下排除出现前导0的方法
Page 111 UVA 11375 村民排队: 最后的结论非常有意思
Page 112 带标号连通图计数 含有n个节点的所有无向图(联通的+非联通的),并且还标了号的 总共有 2n(n−1)/2 个 推导:暂时不会
UVA 10253 Series-Parallel Networks 1. long long *= int 乘法的结果在多少以内不会溢出? (int的范围内) 2. 这道题我做首先没有能够抽象成树的计数,一个串联结构只能由多个并联结构串联在一起得来, 一个并联结构只能由多个串联结构并联得来。开了两个dp[maxn][maxn], dp[i][j]的意义是一个i条边的串联结构中最大的子并联结构用了j条边。整个dp是 O(n4) 的,但是看了大白上的代码可以发现它的dp是 O(n3) 的, 关键在于它的状态意义是(从我的做法的角度):一个i条边的串联结构中最大的子并联结构用了不超过j条边。相当于我的一个前缀和效果,有效减少了复杂度, 学习学习。 3. 代码:
LA 3704 Cellular Automaton 1. 循环矩阵相乘仍然为循环矩阵 2. 循环矩阵定义: 它的行向量的每个元素都是前一个行向量各元素依次右移一个位置得到的结果 3. 循环矩阵的特性:循环矩阵遵循代数运算法则。对于两个循环矩阵 A 与 B 来说,A + B 也是循环矩阵。AB 也是循环矩阵,并且 AB=BA。[???不要求是N阶对称?]
UVA 10828 Back to Kernighan-Ritchie 1. 本题我第一次做选择在构造矩阵的时候分类讨论, 将执行次数为0次的和infinity的先floyd解出,剩下的节点信息消元法解出。但应该注意到
2 2 2 0 0这组数据中query2的结果为0而不是infinity 2. 第二次我将所有节点信息都列入方程组,消元。 消元后的方程有三种情况 设矩阵为 double m[n][n+1] ① m[i][i]!=0 x[i] 有解 ② m[i][i]==0且m[i][n+1]!=0 x[i] = inf ③ m[i][i]==0且m[i][n+1]==0 x[i] = 0 对于这道题三种情况是这样,应用到其他题目时应结合题目考虑不同情况取什么结果
UVA 11542 Square 1. 本题是解模2方程组, 但因为 x 的取值只能是0 或 1, 因此确定自由变量的取值后,整个方程组的结果是唯一确定的。 转化为xor方程组可以使计算简便。 2. 可以将求自由变量的数量转化为求非自由变量的数量,再转化为求矩阵的秩
UVA 10655 Contemplation! Algebra 1. 记一个结论: 如果 a+b是整数 ab也是整数 那么a^n + b^n也是整数 2. 因为是矩阵的知识点,所以应该尝试能否得到什么递推公式,这道题在矩阵的知识点下难度急剧降低……
UVA 11149 Power of Matrix 1. 题意:对于矩阵A 要求 A + A^2 + A^3 + …. + A^K 2. 对于数字A, 可以很简单得到递推矩阵, 再将递推矩阵中的数字替换为A、零矩阵、单位矩阵即可
LA 3139 Kid’s problem 1. 解一个膜方程组, 每一个膜方程都可以解出好几个x……比如 2x=6(mod 14) 可以得到解 3或10 2. 因此需要搜索, 再考虑到数据范围需要剪枝 3. 然而我RE了 不明所以, 大数据跑的还有点慢…… 4. 希望有人教教我……