摘要:
矩阵乘法 定义C是由A,B两个矩阵相乘得到 若A是n行k列,B是k行m列 所以C是n行m列 $C_{i,j}=\sum_{k=1}^mA_{i,k} b_{k,j}$ 用我自己的话来说就是C的i行j列是由 A的i行 B的j列 矩阵乘法满足结合律,分配律,但不满足交换律(显然,如果交换后C的形态都可能 阅读全文
摘要:
T1 这道题,挺明显的,就是有一些细节。 对于要求1:要求$\gcd$ % $a==0$ $\gcd$是所有数共同的$\gcd$ 对于要求2:要求$a a include include include include define LL long long using namespace std; 阅读全文
摘要:
四边形不等式的运用 四边形不等式的定义: 对于定义域上的任意整数a,b,c,d,其中$a\le b \le c \le d$ 都有$w(a,d)+w(b,c)\ge w(a,c)+w(b,d)$成立,则称函数w满足四边形不等式 (另一种定义) 对于定义域上的任意整数a,b,其中$a=w(b,c)$ 阅读全文
摘要:
T1 这道题真的很简单 考试的时候线段树打挂了想杀人 我们可以分别求a序列的前缀和$suma$和b序列的前缀和$sumb$ 现在问题就转化为$suma[i] suma[j] 0, sumb[i] sumb[j] 0$ 使得$i,j$ 差的绝对值最大 对于这种多维偏序问题,可以采用$CDQ$分治或者是 阅读全文
摘要:
T1 T1可能(一定)在某些大佬的眼中就是一道送分题(~~然而我只有10分~~) 明眼人都看得出来这是一道拓展欧几里得的题目,我们知道系数$a,b$,要求解方程$ax+by=c$ 并且使得$|x|+|y|$取得最小值 我们知道拓展欧几里得可以求解$ax+by=gcd(a,b)$,并且如果有某一正数c 阅读全文
摘要:
差分与前缀和 差分与前缀和两个互补?的概念 前缀和的差分值 为原序列 差分的前缀和 也为原序列 这个是非常基础的 相信大家都会。 首先来讲前缀和 前缀和这个东西 大家肯定都会用 这里只提一下二维前缀和应该怎么用 令$val[i][j]$为当前节点的值(一般来说是$1 1$的格子),$sum[i][j 阅读全文
摘要:
平衡树SPLAY 平衡树这个东西~~一点用没有~~,非常有用,而且锻炼码力,是个非常好的模板题! 那么SPLAY这个东西 十分的毒瘤 我只调了一上午就调出来了!(我真棒) 首先 我们要知道平衡树是一棵二叉查找树 他可以处理:加点,删点,前驱,后继,num的排名,某排名的num,合并两棵平衡树,分离两 阅读全文
摘要:
可爱的树链剖分(染色) 这道题 就是 一道 普通的! 树链剖分+线段树覆盖 注意一下两个线段树合并的时候 如果 $lval(node include include include define int long long using namespace std; const int maxn=1e 阅读全文
摘要:
题目要求 任意两个点不连通 这句话怎么有点熟悉? 然后联想到最小割的定义:一个边集被删除以后S,T不再联通,则称该边集为网络的割。边的容量之和最小的割成为网络的最小割。 emmm S,T 不再联通 确实有点像 于是这道题就可以用网络流最大流来做! 将一个点$x$ 拆成 $x$和$x+n$ 在这之间连 阅读全文
摘要:
"[LNOI2014]LCA" 这道题难道不是数据结构水题吗 ~~逃)~~ 首先想到一个i点的$dep$相当于根节点走到i 进过的点之和,所以这个点对答案的贡献就是从这个点走到根节点。因此我们可以转换为当前节点$i$到根节点所经过的所有节点权值++。 显然可以用线段树+树链剖分的数据结构进行优化 对 阅读全文