矩阵
文章平均质量分 78
LowestJN
强省弱OIer
展开
-
[BZOJ4623][树分治][矩阵][数学]Styx
%%%%tlzmybm 大概就是把向量积转化成行列式表示,然后就可以用反交换律计算两点间的叉积,然后树分治一下#include <cstdio> #include <iostream> #include <cstring> #include <string> #include <vector> #include <algorithm> #define N 100010 #define P 10原创 2017-03-15 17:40:51 · 724 阅读 · 0 评论 -
[线段树][矩乘][DP]Codeforces Round 573D && RussianCodeCup Thanks-Round .Bear and Cavalry
首先可以证明把两个数列从小到大排列再对应匹配是最优的。 画画图可以发现,在有限制的情况下一个点,离它匹配的点的距离不超过2 这样就可以DP了 fif_i表示前i个点匹配的答案。 那么fi=max fi−1+ai∗bifi−2+ai∗bi−1+ai−1∗bifi−3+ai∗bi−1+ai−1∗bi−2+ai−2∗bifi−3+ai∗bi−2+ai−1∗bi+ai−2∗bi−原创 2017-07-11 17:31:10 · 553 阅读 · 0 评论 -
[点分树] Codechef December Challenge 2017. Chef, Leonardo And Queries
我好像只会套路数据结构题了…暴力上点分树,这样的递推形式可以用矩阵表示,那么对于点 ii ,它的线段树上区间覆盖上 fdis(i,u)×Af_{dis(i,u)}\times A 的表示,其中 fif_i 表示转移矩阵的 ii 次方,AA 就是题目给出的 a,ba,b 构成的矩阵。然后询问点 ii 管辖的点 jj 的时候,线段树中询问得到的结果乘上 fdis(i,j)f_{dis(i,j)} 就好了原创 2017-12-11 20:48:01 · 297 阅读 · 0 评论 -
[矩阵快速幂] Atcoder AGC003 F. Fraction of Fractal
很神的题!!!首先观察一下每次转移如果初始的图案存在某一行 ii,满足行的两个端点为黑,且存在某一列也是满足这样的条件,那么答案就是1,因为原来就连通的黑块转移后的图案也是联通的。如果行和列都不满足,因为每次转移答案都会乘 xx, 那么答案就是 xk−1x^{k-1} ,其中 xx 为初始图案中的黑块数量。如果只有行满足这样的条件(列满足的话转一下图案),设 xx 等于黑块的数量, yy 等于初始图原创 2017-12-07 20:48:33 · 582 阅读 · 3 评论 -
[矩乘优化DP] Topcoder SRM550 DIV1 Hard. ConversionMachine
每个位置显然是先变成正确的,然后进去若干循环这样就可以算出最多进行多少轮变换,令 fi,j,kf_{i,j,k} 表示进行了 ii 轮变换,有 jj 个位置差一次变换, kk 个位置差两次变换直接DP肯定不行,可以用矩乘优化// BEGIN CUT HERE // END CUT HERE #include <vector> #include <list> #include <map>原创 2018-01-03 11:20:24 · 603 阅读 · 0 评论 -
[卷积定理] LOJ#548. 「LibreOJ β Round #7」某少女附中的体育课
设变换矩阵为 TTT 由卷积定理可以知道 对于 TTT 的每一行的任意 i,ji,ji,j 满足 xi×xj=xi opt xjxi×xj=xi opt xjx_i\times x_j = x_i ~\text{opt}~x_j 因为 AAA 满足循环律 所以存在 c>1c>1c>1 满足 xci=xixic=xix_i^c=x_i 也就...原创 2018-02-26 10:40:25 · 677 阅读 · 0 评论 -
[矩阵乘法优化DP] Topcoder SRM554. TheBrickTowerHardDivOne
dp fi,sfi,sf_{i,s} 表示第 iii 层的状态为 sss 的方案数 转移是一个矩乘的形式 用矩乘快速幂优化 #include <cstdio> #include <iostream> #include <algorithm> using namespace std; const int P=1234567891; typedef...原创 2018-03-07 18:58:39 · 447 阅读 · 0 评论