随笔分类 -  BZOJ

摘要:每条边流量至少为 $1$ 直接套用有源汇上下界最小费用可行流 阅读全文
posted @ 2020-02-25 23:56 Mrzdtz220 阅读(94) 评论(0) 推荐(0)
摘要:目标:3.10前400AC 阅读全文
posted @ 2020-02-25 17:06 Mrzdtz220 阅读(69) 评论(0) 推荐(0)
摘要:对于每一个左端点,考虑其右边那些能更新答案的点 先考虑在其右边且值比当前大的,小的可以将值翻转后做一遍 即对左端点 $i$,找到 $j i$ 满足 $a_j a_i$ 首先找到一个 $j$,下次在 $j$ 右边找到一个 $k$ 满足 $a_j a_k a_i$ 但是这样的点对还是有很多,考虑找下个 阅读全文
posted @ 2020-02-25 11:45 Mrzdtz220 阅读(99) 评论(0) 推荐(0)
摘要:看到式子的形式,可以想到斐波那契数列的通项的形式 设 $f_n = \left(\dfrac{b+\sqrt d}{2}\right)^n + \left(\dfrac{b \sqrt d}{2}\right)^n$ 这两个是方程 $x^2 bx+\dfrac{b^2 d}{4}=0$ 的两根 根据 阅读全文
posted @ 2020-02-24 20:48 Mrzdtz220 阅读(115) 评论(0) 推荐(0)
摘要:询问具有可减性,可以差分 $$\begin{aligned} & g(l_1, r_1,x)\times g(l_2,r_2, x) \\=& (g(0,r_1,x) g(0,l_1 1,x)) \times (g(0, r_2, x) g(0, l_2 1, x))\\=& g(r_1,x)\ti 阅读全文
posted @ 2020-02-24 16:15 Mrzdtz220 阅读(88) 评论(0) 推荐(0)
摘要:转化成dfs序上的问题,变成区间加和区间kth 可以用分块+二分,通常复杂度为 $O(m\sqrt{n\log n}\log n)$,这道题里被卡掉了 设块大小为 $B$,每一块内保持有序 修改时整块打上标记,零散块就现在有序表里分裂成两个序列,一个在修改的区间内,一个在修改的区间外,区间内加上值, 阅读全文
posted @ 2020-02-24 10:20 Mrzdtz220 阅读(100) 评论(0) 推荐(0)
摘要:忽略不能取同一根的要求。 构造多项式 $A(x) = \sum x_{a_i}$ 那么 $A^2(x)$ 就是取两个木棍,组成长度为 $s$ 的方案。 容斥后得到 $$(\sum x)^2 = \sum x^2 + 2\sum xy$$ $$\sum xy = \dfrac{(\sum x)^2 \ 阅读全文
posted @ 2020-02-23 23:52 Mrzdtz220 阅读(89) 评论(0) 推荐(0)
摘要:无向图的最大团可以转化为补图的最大独立集,而对于B的补图是一个二分图,二分图的最大独立集等于顶点数减去最小点覆盖,而最小点覆盖又等于最大匹配,那么就是求B图的最大匹配 而A图要求选一个奇数一个偶数,那么最多就只能选两个 暴力枚举选哪些,再在B图上跑匈牙利,用时间戳优化,就不用每次都memset了 阅读全文
posted @ 2020-02-23 22:26 Mrzdtz220 阅读(81) 评论(0) 推荐(0)
摘要:只需要找到长度为 $3$ 的等差子序列即可,可以枚举每一个位置,用bitset预处理出左边有什么值以及右边有哪些翻转的值,然后再与一下,复杂度是 $O(\dfrac{n^2}{32})$,但是它T了 不需要求出具体公差是啥,那么我们看当前位置 $i$ 的值 $x$,$1$ 到 $i 1$ 中 $[1 阅读全文
posted @ 2020-02-23 20:30 Mrzdtz220 阅读(121) 评论(0) 推荐(0)
摘要:考虑从 $5$ 下手 把状态设为 $f_{a_1,a_2,a_3,a_4,a_5,type}$ 表示当前剩下 $i$ 次涂色机会的颜色种类数为 $a_i$,而最后一个颜色用的是上一轮剩下 $type$ 次涂色机会的 记忆化搜索即可 对于这种数据范围小的,可以考虑多设几个维度方便DP 阅读全文
posted @ 2020-02-22 17:32 Mrzdtz220 阅读(92) 评论(0) 推荐(0)
摘要:维护一个栈,从任意一个节点开始 dfs,在回溯时加入到栈中。 dfs每一个子树之后,若相对于刚进入该节点时栈的大小,新增加的节点超过 B,就将它们分为一块 这样分完保证不超过 2B,而整个dfs结束之后,若栈中还有节点,就把它们归为最后一块 阅读全文
posted @ 2020-02-22 13:51 Mrzdtz220 阅读(86) 评论(0) 推荐(0)
摘要:DP题从来就是不会的。。。 对于波浪序列看成若干条链,s,t 不计入链中,最终序列就是 $0$ 条链 设 $f_{i,j}$ 为插入前 $i$ 个数之后有 $j$ 条链的情况 最后加入 $n$ 只能合并 s,t 所在的链,而他们不在链中 所以答案就是 $f_{n 1,0}$ 若 $i$ 不是 s 或 阅读全文
posted @ 2020-02-22 11:31 Mrzdtz220 阅读(136) 评论(0) 推荐(0)
摘要:首先判断能否构成回文串 对于前 $\lfloor \frac{n}{2} \rfloor$ 个字符,若每种字符出现次数恰好为对应的一半,那么就把右半部分对称成左半部分的样子即可,若左边相邻两个字符交换,逆序对个数只会 $\pm 1$,而右半部分的逆序对只会 $\mp 1$,恰好抵消 否则贪心的将右边 阅读全文
posted @ 2020-02-21 22:30 Mrzdtz220 阅读(99) 评论(0) 推荐(0)
摘要:对任意前缀,前 $n$ 个数被选的不小于没被选的,否则,即使奇数项贴着下界继续放,偶数项也会不满足第 $2$ 或 第 $3$ 个条件。 所以就变成了卡特兰数的定义 $C_n = \binom{2n}{n} \binom{2n}{n+1}=\dfrac{2n!}{n!(n+1)!}$ 组合数对合数取模 阅读全文
posted @ 2020-02-21 22:18 Mrzdtz220 阅读(84) 评论(0) 推荐(0)
摘要:图上 $1 \to n$ 的任意一条路径的异或和都可以由图上若干个环以及一条 $1 \to n$ 的路径的异或得到 dfs求出所有环,求出线性基,再贪心地从高到低位得到最大异或和 阅读全文
posted @ 2020-02-20 13:30 Mrzdtz220 阅读(83) 评论(0) 推荐(0)
摘要:同 "BZOJ3450" $(x+1)^3 x^3 = 3x^2+3x+1$ 同时维护期望长度的平方,期望长度即可 阅读全文
posted @ 2020-02-20 13:13 Mrzdtz220 阅读(75) 评论(0) 推荐(0)
摘要:根据期望的线性性,可以求每个字符对答案的贡献 而每个字符对答案的贡献跟其期望后缀长度有关 设 $l_i$ 表示以 $i$ 结尾的连续 $o$ 的期望长度 若 $s_i = o$,$l_i = l_{i 1} + 1$ 若 $s_i = x$,$l_i = 0$ 若 $s_i = ?$,$l_i = 阅读全文
posted @ 2020-02-20 13:11 Mrzdtz220 阅读(79) 评论(0) 推荐(0)
摘要:树剖 可以不用换根 若根在查询的点的子树内 那么查询的就是查询的点删去根所在的子树,即为两个区间 否则就还是直接查子树 阅读全文
posted @ 2020-02-20 00:29 Mrzdtz220 阅读(142) 评论(0) 推荐(0)
摘要:定义 $f_u$ 为 $u \to n$ 的期望长度 拓扑排序之后得到拓扑序从后往前dp $f_u = \sum \limits_{(u,v) \in E}\dfrac{f_v + cost_{u,v}}{Outdeg_u}$ 阅读全文
posted @ 2020-02-19 19:00 Mrzdtz220 阅读(97) 评论(0) 推荐(0)
摘要:期望dp一般逆推,因为终点不确定,而起点确定 那么这道题就可以定义状态 $f_{i,j}$ 为第 $i$ 次抛出宝物到结束种类集合为 $j$ 的期望收益 则答案为 $f_{0,0}$ 而dp过程就可以从后往前叠加贡献 复杂度 $O(kn2^n)$ 阅读全文
posted @ 2020-02-19 18:35 Mrzdtz220 阅读(78) 评论(0) 推荐(0)