【算法】Cayley-Hamilton定理
文章平均质量分 71
cz_xuyixuan
这个作者很懒,什么都没留下…
展开
-
【JSOI2017】预言
【思路要点】定义矩阵的数异或,\(b\ xor\ A\)表示将\(A\)中的每一个数都异或上\(b\),由于本文不涉及矩阵的数乘,以下简写为\(bA\)。定义矩阵运算\(\otimes\),表示将矩阵乘法中的加法替换为异或,乘法替换为与得来的运算。定义矩阵乘幂\(A^b\),表示\(b\)个\(A\)用\(\otimes\)连接的结果,由于本文不涉及矩阵乘法,以下不加辨识地使用\(A^b\)的写法...原创 2018-06-20 19:41:20 · 707 阅读 · 0 评论 -
【省内训练2019-07-01】Match
【思路要点】考虑方差的期望的公式,记 F0=1,Fi=(2i−1)Fi−1F_0=1,F_i=(2i-1)F_{i-1}F0=1,Fi=(2i−1)Fi−1 , MetMetMet 表示可能的权值序列的集合,则有Ans=1∣Met∣∑a∈Met∑i=1N(ai−∑aiN)2NAns=1N×FN∑a∈Met∑i=1N(ai2−2ai(∑ai)2N+(∑ai)2N2)Ans=1N×FN∑...原创 2019-07-01 14:06:27 · 273 阅读 · 0 评论 -
【2019 江苏省队集训】Day2 解题报告
【T1】 朝夕相处【思路要点】记不考虑旋转同构的答案为 G(N)G(N)G(N),答案为F(N)F(N)F(N),由BurnsideBurnsideBurnside引理,有F(N)=∑i∣NG(i)φ(Ni)NF(N)=\frac{\sum_{i\mid N}G(i)\varphi(\frac{N}{i})}{N}F(N)=N∑i∣NG(i)φ(iN)剩余问题在于计算 G(N)G(...原创 2019-07-03 13:30:13 · 963 阅读 · 0 评论 -
【LOJ3071】「2019 集训队互测 Day 2」神树大人挥动魔杖
【题目链接】点击打开链接【思路要点】记 waysiways_iwaysi 表示从 111 号点走到 iii 号点的方案数,有 waysi=p×waysi−1+q×waysi−2 (i≥2)ways_{i}=p\times ways_{i-1}+q\times ways_{i-2}\ (i\geq2)waysi=p×waysi−1+q×waysi−2 (...原创 2019-05-02 16:39:37 · 1437 阅读 · 0 评论 -
【LOJ2463】「2018 集训队互测 Day 1」完美的旅行
【题目链接】点击打开链接【思路要点】考虑计算总共走了 xxx 步,且所有旅行的愉悦值的按位与的结果包含 yyy 的方案数,再简单容斥得到答案。记一次旅行走了 i (i≥1)i\ (i\geq 1)i (i≥1) 步,且其愉悦值包含 yyy 的方案数为 aia_iai 。记 f(x)=∑aixif(x)=\sum a_ix^if(x)=∑aixi ,那么...原创 2019-03-19 14:34:38 · 694 阅读 · 0 评论 -
【CodeForces506E】Mr. Kitayuta's Gift
【题目链接】点击打开链接【思路要点】首先有一个简单的 O(∣S∣3+N∗∣S∣2)O(|S|^3+N*|S|^2)O(∣S∣3+N∗∣S∣2) 的 dpdpdp 做法,即从结果串的两边向中间 dpdpdp 。这个方法同样可以对于所有 M≤NM≤NM≤N 算出所有答案。由数据范围,本题的正解很可能是矩阵乘法优化 dpdpdp ,不妨用上述 dpdpdp 计算较小范围的答案,然后...原创 2018-11-22 13:29:08 · 1167 阅读 · 0 评论 -
【CodeChef】October Challenge 2018 (Div. 1 + Div. 2) 题解
【比赛链接】点击打开连接**【BBRICKS】**Beautiful Bricks【思路要点】上下两个砖块中,至多有一个黑色。连续的一段存在黑色的行共有两种放置的方案。枚举有几段连续的存在黑色的行,用组合数计算答案。单组数据时间复杂度 O(K)O(K)O(K) 。【代码】#include<bits/stdc++.h>using namespace ...原创 2018-10-21 10:46:08 · 498 阅读 · 0 评论 -
【BZOJ1494】【NOI2007】生成树计数
【题目链接】 点击打开链接 【思路要点】 写个矩阵树定理的暴力,求出对于输入的kkk,NNN在100以内的结果。 运行BM算法,我们发现答案是一个至多46阶的线性递推。 然后求它的第NNN项就好了。 时间复杂度O(R4+R2LogN)O(R4+R2LogN)O(R^4+R^2LogN),其中R=46R=46R=46。 【代码】 ...原创 2018-06-28 20:41:07 · 417 阅读 · 0 评论 -
【BZOJ4944】【UOJ316】【NOI2017】泳池
【题目链接】BZOJ UOJ【思路要点】考虑对于已知网格,如何计算最大的安全区域的面积。 我们会选用笛卡尔树。 因此,我们考虑枚举区间最小值的位置,进行笛卡尔树DP。 设\(dp_{i,j,0}(i*j≤k)\)表示当前考虑的部分宽度为\(j\),且靠近沙滩的\(i*j\)个格子被确认是安全的情况下最大安全面积恰好为\(k\)的概率。 设\(dp_{i,j,1}(i*j...原创 2018-06-20 15:10:38 · 558 阅读 · 0 评论 -
【BZOJ4161】Shlw loves matrixI
【题目链接】点击打开链接【思路要点】用Cayley-Hamilton定理优化常系数齐次线性递推模板题。时间复杂度\(O(K^2LogN)\)。【代码】#include<bits/stdc++.h>using namespace std;const int MAXN = 4005;const int P = 1e9 + 7;template <typename T> ...原创 2018-06-19 17:53:52 · 366 阅读 · 0 评论 -
【LOJ2325】「清华集训 2017」小 Y 和恐怖的奴隶主
【题目链接】点击打开链接【思路要点】由于场上的每一个位置只有可能包含一个0,1,2或3血的奴隶主,因此本质不同的状态数只有\(\binom{11}{3}=165\)种,矩阵乘法+快速幂即可,询问时只需要矩阵乘向量。时间复杂度\(O(C^3LogN+TC^2LogN)\),其中\(C=165\)。上述做法可能会因为常数问题被卡到90~95分。考虑对于已知的\(M\)和\(K\),DP得到\(N≤2*...原创 2018-06-19 17:50:09 · 517 阅读 · 0 评论 -
【学习笔记】Cayley-Hamilton定理
【定理简介】Cayley-Hamilton定理【算法流程】对【一组实例】以【代码】原创 2018-06-19 17:20:16 · 11852 阅读 · 3 评论 -
【PE258】A lagged Fibonacci sequence
【题目链接】 点击打开链接 【思路要点】 用Cayley-Hamilton定理优化线性递推。 时间复杂度O(N2LogK)O(N2LogK)O(N^2LogK),其中N=2000,K=1018N=2000,K=1018N=2000,K=10^{18}。 【代码】 #include<bits/stdc++.h>using ...原创 2018-06-29 20:49:18 · 679 阅读 · 0 评论