上一页 1 2 3 4 5 6 7 ··· 12 下一页
摘要: DilWorth定理内容: 对于任意有限偏序集,其最大反链中元素的数目必等于最小链划分中链的数目。 反过来,对于任意有限偏序集,其最长链中元素的数目必等于其最小反链划分中反链的数目。 例题:给一个序列,每次取走一个最长上升子序列,问至少要几次。 相当于求最小链划分。 那么,求出反图的最长链。 显然, 阅读全文
posted @ 2020-11-15 21:31 lnzwz 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 网络流,差分约束可以转化。 单纯形法,复杂度未知。 这个代码就是把系数放到(1n)*(1m)。 把约束条件放到第0列。最大化的系数放到第0行。 对偶:就是处理大于等于。 把矩阵转置即可。 void pivot(int x,int y) { double t=sz[x][y];sz[x][y]=1; 阅读全文
posted @ 2020-10-23 15:56 lnzwz 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题意:给出若干个矩形,给每个确定方向,使得宽不相同,高的和最大。 暴力:二分图匹配,\(O(n^3)\)。 正解:把矩形看成边,那么定向后是基环内/外向树。 连通块是基环树只有一种方案。 连通块是树采用树规。 注意自环重边。 \(O(n)\)。 阅读全文
posted @ 2020-10-18 18:34 lnzwz 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 这题我的方法比较奇怪。 题意: 有$k$种物品,第$i$个物品有$a_i$个,权值为$2^i$。 求有多少个$y$,使得可以选出$x$组物品,每组的和都为$y$。 先考虑如何判定一个$y$是否可行: 从最高位开始,依次求出第i位需要的数目$b_i$。若$y$的第$i$位为1,则$b\leftarro 阅读全文
posted @ 2020-10-06 20:36 lnzwz 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 有时,会遇到特殊字符串匹配。 第一种 通配符。 这时通常要用NTT。 记两个字符串的差距为$A_i\times B_i\times (A_i-B_i)^2$。 若每个位置的差距之和为0,则字符串相等。 若是通配符,把$A_i/B_i$变为0即可。 把式子拆开后,反转其中一个串,用NTT优化计算。 第 阅读全文
posted @ 2020-10-06 16:53 lnzwz 阅读(315) 评论(0) 推荐(2) 编辑
摘要: 循环矩阵,就是循环的矩阵。 循环矩阵有一些性质: 两个循环矩阵,相乘后,仍是循环矩阵。 这样,在进行矩阵乘法时,只维护第一行即可。 复杂度暴力$O(n^2)$。其实是循环卷积,可以用NTT优化至$O(n\log n)$。 循环矩阵的行列式也可以快速计算。 对于$n*n$的矩阵,设$w^k$为$n$次 阅读全文
posted @ 2020-10-06 16:34 lnzwz 阅读(623) 评论(0) 推荐(0) 编辑
摘要: 有时,会遇到这样的问题:求 \(\sum_{i=1}^n i^kx^i\)。 其中,k很小,n很大,x可以是数,矩阵,或多项式。 通常,有两种做法: 将x放入矩阵中,并依次把$(a+1)i$拆开,把系数放入矩阵(其实就是杨辉三角)。 这个方法比较容易,但时间复杂度为$O(k3\log n)$。 使用 阅读全文
posted @ 2020-08-12 22:07 lnzwz 阅读(306) 评论(0) 推荐(1) 编辑
摘要: 首先,考虑一个问题:有一张有向图,选择最少的点,使得每个点都能由这些点出发而到达。 可以用如下方法: 先tarjan缩点,变成DAG。然后在入度为0的SCC中各选一个点。 正确性显然。 对于这道题,先预处理出所有数之间的关系,方法等下讲。然后暴力就是枚举$2n-1$种情况,再套用上述做法。 正解就是 阅读全文
posted @ 2020-08-08 22:25 lnzwz 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 题意: 给定$x$,\(d\),求x子树里深度不超过dep[x]+d的所有点中有多少种颜色。 强制在线。 一般的,询问区间颜色数时,可以求出每个数的后继,然后就变成了区间内大于某数的数,进而使用树状数组或主席树。 然而,询问树上的颜色数,还有一种更好的方法: 考虑某种颜色的贡献: 把这种颜色的所有点 阅读全文
posted @ 2020-08-04 22:19 lnzwz 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 坑 阅读全文
posted @ 2020-08-04 21:47 lnzwz 阅读(152) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 12 下一页