摘要: [传送门] 直接想最暴力的做法就是正解了。每次询问都把两个串的回文树建出来,然后再两棵树上同时dfs,经过相同的节点答案就加一。遇到一个不存在的就退出。再把询问记忆化一下就OK了。复杂度是 $O(n \sqrt n)$因为每次dfs的复杂度跟短的串的长度有关。自己写给写T了。学习了下优秀写法。多开一 阅读全文
posted @ 2019-10-13 01:55 Mrzdtz220 阅读(114) 评论(0) 推荐(0)
摘要: [传送门] 考虑计算直径的 dp 方法。 $d[u]$ 表示以 $u$ 为根的子树能 $u$ 能走到的最远距离 $dp[u]$ 表示以 $u$ 为根的子树的直径那么每次dfs一个子节点后$dp[u] = max(d[u] + d[v] + 1, dp[u])$$d[u] = max(d[v] + 1 阅读全文
posted @ 2019-10-13 01:53 Mrzdtz220 阅读(170) 评论(0) 推荐(0)
摘要: [传送门] 很明显,可以转化成求每个点在两棵树中对应的子树中有多少个相同的节点,对答案的贡献就是$C(x, 2)$。关键就是怎么求这个东西。一是,对第一棵树求出dfs序,然后dfs第二棵树,用树状数组维护节点是否遍历到。对应下标就是第一棵树的dfs序,求每个节点递归其子树前后对应子树的区间和,作个差 阅读全文
posted @ 2019-10-13 01:51 Mrzdtz220 阅读(119) 评论(0) 推荐(0)
摘要: [传送门] 首先有个贪心的想法,从叶子到根的路径的值呈递增更优,也就是大的深度越浅越好,因为如果把一个小的值放在深度浅的节点,则这以下的叶子节点都会被这个小的值影响,那么就肯定有更优的解代替这个放法,那么当叶子确定一个值的时候,从它往上的节点的相对大小就可以被确定了。因为叶子节点只有20个,往状压D 阅读全文
posted @ 2019-10-13 01:49 Mrzdtz220 阅读(102) 评论(0) 推荐(0)
摘要: [传送门] 写的时候一直没有想到离线解法,反而想到两个比较有趣的解法。一是分块,$f[i][j]$表示第$i$块块首元素到第$j$个元素之间满足条件的最大值(即对$B_l + B_r \in K$的$A_l + A_r$的最大值)。这个可以$O(nm\sqrt n)$预处理,查询就$l$属于的块$p 阅读全文
posted @ 2019-10-13 01:47 Mrzdtz220 阅读(145) 评论(0) 推荐(0)
摘要: [传送门] 首先,树剖无疑。其次,不会了... 搜了发题解才知道咋写。 没有什么正(wo)常(hui)点(xie)的线段树直接做的写法。换个形式,发现题目中的修改可以用矩阵乘法来表示一个节点用一个$1 \times 3$的矩阵来表示$$\begin{bmatrix} 1 & v & t \end{b 阅读全文
posted @ 2019-10-13 01:42 Mrzdtz220 阅读(144) 评论(0) 推荐(0)
摘要: A. Alternating Sum 就是个等比数列,特判公比为 $1$ 的情况即可。 #include <bits/stdc++.h> using namespace std; const int MOD = 1e9 + 9; const int N = 1e5 + 7; int qp(int a 阅读全文
posted @ 2019-10-13 01:40 Mrzdtz220 阅读(210) 评论(0) 推荐(0)
摘要: [传送门] 单调栈其实就是个后缀$max/min$,这道题可以维护一个单调递减的单调栈,pop元素的时候,能pop掉的元素就是第二大,当前元素为第一大。遇到第一个不能pop掉的时候当前元素就是第二大,不能pop掉的元素就是第一大。 #include <bits/stdc++.h> using nam 阅读全文
posted @ 2019-10-13 01:33 Mrzdtz220 阅读(114) 评论(0) 推荐(0)
摘要: [传送门] 推推式子$$ \dfrac {1}{N!} = \dfrac{1}{X} + \dfrac{1}{Y} $$$$ \dfrac {1}{X} = \dfrac{1}{N!} - \dfrac{1}{Y} $$$$ \dfrac {1}{X} = \dfrac{Y - N!}{YN!} $ 阅读全文
posted @ 2019-10-13 01:31 Mrzdtz220 阅读(187) 评论(0) 推荐(0)
摘要: 2017-2018 ACM-ICPC Southeastern European Regional Programming Contest (SEERC 2017) 全靠 wxh的博客 补完这套。wxhtxdy! [A - Concerts] $f[i][k]$ 表示在第 $i$ 个位置刚好匹配了 阅读全文
posted @ 2019-10-13 00:40 Mrzdtz220 阅读(842) 评论(1) 推荐(0)
摘要: https://zhuanlan.zhihu.com/p/84236967 https://www.cnblogs.com/TinyWong/p/11260601.html 一个月过去了,我还是没有学动态点分治... 欧拉序保存了每个节点进入和返回的情况,$n$ 个结点的树,欧拉序列长度为 $2n 阅读全文
posted @ 2019-10-13 00:13 Mrzdtz220 阅读(931) 评论(0) 推荐(0)