随笔分类 - BZOJ
摘要:调了一下午。。 属实自闭 想法很简单 同Sdoi2016游戏的做法 将路径拆成两条 $u \to lca$,$lca \to v$ 等差数列对 $u \to lca$ 路径上的点 $x$ 的影响为 $a + (dep_{u} dep_{x})\times b$ 可以拆成 $( b) \times d
阅读全文
摘要:可持久化Trie本质和主席树一致 但能支持求最大异或和操作 抛开这个功能测过可持久化trie去写主席树的题,好像也没快多少?可能是我写丑了
阅读全文
摘要:曼哈顿距离转切比雪夫距离 把坐标变为 $(x+y,x y)$ 之后,求两点之间距离即为 $\max(|x_1 x_2|,|y_1 y_2|)$ 之后再通过扫描线,平衡树维护 $y$ 坐标,每次将前驱后继进行合并
阅读全文
摘要:最坏情况下每次得到的答案都是 $1$ 而每次猜一个数都相当于筛去一部分质数 那就是把 $1$ 到 $n$ 之间的质因数分组,每一组里乘积都小于等于 $n$ 求最小组数 这个用双指针,为每个大质数分配若干个小质数即可
阅读全文
摘要:考虑所有回文子序列减去连续回文子序列 后者可以manacher求出 设 $f_i$ 为以 $\dfrac{i}{2}$ 为中心的回文子序列个数 若以 $\dfrac{i}{2}$ 为中心左右有 $x_i$ 对对称的字符 则 $f_i = 2^{x_i} 1$ 所有 $x_i$ 可以由FFT求出 $x
阅读全文
摘要:暴力枚举 T 的每一位放什么 每一位之间放什么不影响,但是包含什么字符串会互相影响 那么dp状态就得加上字符串的包含情况 $dp_{i, s}$ 表示当前放第 $i$ 位, $s$ 为包含的字符串集合的方案数 $dp_{0, 2^n 1} = 1$ 转移需要预处理一个数组 $state_{i, j}
阅读全文
摘要:分别求出以 $s_1$、$t_1$、$s_2$、$t_2$ 为起点的最短路 然后 $O(n^2)$ 枚举公共路径的两个端点 根据四个最短路的关系判断是否都在最短路上
阅读全文
摘要:要求把图分割成若干条除了起点和终点之外都不相交的路径 拆点最小费用最大流解决即可
阅读全文
摘要:直接对点集进行矩阵快速幂不好解决不能走回头路的限制 那么考虑对边集进行矩阵快速幂 即把边看成点,枚举相邻的边进行连边 再矩阵快速幂即可
阅读全文
摘要:修改操作相当于对所有 $x$ 进行 $a_x=a_x+v[(x,n)=d]$ $v[(x,n)=d] = \sum\limits_{k|\frac{n}{d},kd|x}\mu(k)v$ 枚举 $\dfrac{n}{d}$ 的因子 $k$,那么就是对 $kd$ 的所有倍数进行修改 那么直接维护一个数
阅读全文
摘要:一个合法的括号序列能够映射成一棵树 用栈处理括号序列之后将树建出来,可以发现对应矩形高度为该节点子树内的最大深度,矩形宽度为该节点之间的括号个数+1,dfs统计答案即可
阅读全文
摘要:考虑cdq分治 按 $y$ 坐标从小到大分为上下两个部分 现在统计下半部分对上半部分每一个点的贡献 那么下半部分能贡献的是一个斜率为负的类似于凸壳的形状 即 $x$ 单调递增,$y$ 单调递减,先按 $x$ 排序,再单调栈维护 $y$ 单调递减 但是这样有可能一些点被多算了,比如当前在上半部分的 $
阅读全文
摘要:记 $cnt_{i, 0/1/2}$ 为 $1$ 到 $i$ 中 J O I 出现次数 当 $(l,r]$ 能成为答案时 $cnt_{r,0} cnt_{l,0}=cnt_{r,1} cnt_{l,1}=cnt_{r,2} cnt_{l,2}$ 用map记录一下二元组 $(cnt_{i,0} cnt
阅读全文
摘要:欧拉降幂与广义欧拉降幂 $$a^x = \begin{cases} a^{x \bmod \varphi(p)} && \gcd(a,p)=1 \\ a^x && \gcd(a,p)\neq 1 \wedge x define pb push_back define fi first define
阅读全文
摘要:设 $f_i$ 为答案,$s_i$ 为前缀和 那么 $s_i = 2s_{i 1}+i^k$ 这个根据二项式系数可以矩阵快速幂
阅读全文
摘要:感觉是sdoi2015序列统计的弱化版... 至少用一个质数就用全集减去只用合数解决 $dp_{i, j}$ 表示已经放了 $i$ 个数,当前和为 $j \pmod p$ 转移方程 $dp_{i, j} = \sum \limits_{x+y=j}dp_{i 1,x} \times c_y$ 看成生
阅读全文
摘要:首先建出 $S$ 的AC自动机和fail树 要使T中每个字符串只被计算一次,那么就得在dfs序相邻的两个节点的lca处 1
阅读全文
摘要:首先建出AC自动机,只要记录一下节点的父节点即可 然后AC自动机字符串匹配的过程是先把字符串放进trie树里,把每个节点拿出来,然后再从每个节点沿着fail走 也就是如果一个字符串 $s$ 出现在另一个字符串 $t$ 中,那么在fail树上 $s$ 是 $t$ 的祖先节点 离线询问,查询 $x$ 在
阅读全文
摘要:如果使用回文树,节点 $u$ 的回文串和 $fail_u$ 的回文串中心不一样,因为回文树的 $fail$ 指针指向的是最长回文后缀,没法快速解决异或和 考虑魔改回文树,用马拉车来解决,扩展的时候用字符串哈希和哈希表来得到每个节点,连接fail指针,就做完了
阅读全文
摘要:首先同BZOJ5052 $O(n \log n \log v)$ 求出所有点对 现在变成选出 $k$ 条不相交的线段使得权值最小 可用前缀min优化dp $O(nk)$ 解决 还是太慢,考虑wqs二分,大胆猜想 $dp_k$ 斜率单调,通过二分斜率限制一下取的线段条数即可
阅读全文

浙公网安备 33010602011771号