随笔分类 -  OJ --- 洛谷

摘要:"题面" 题解 这里讲一种硬核做法。 首先$\mathrm{dfs}$整棵树,求出这棵树的欧拉序,然后$\mathrm{LCA}$问题就变成了$\pm 1\mathrm{RMQ}$问题。 考虑$\mathrm{O}(n)$解决$\pm 1\mathrm{RMQ}$问题。 将原序列分块,每一块长度为$ 阅读全文
posted @ 2019-07-06 11:48 xgzc 阅读(642) 评论(1) 推荐(1)
摘要:"题面" 题解 设$a_i = 0/1$表示元素$i$是否在集合$S$中。 那么$f$的生成函数为$\displaystyle F(x) = \prod_{i=1}^\infty \left(\frac 1{1 x ^ i}\right) ^ {a_i}$,于是问题就变成了我们已知$F$,求$a$。 阅读全文
posted @ 2019-06-05 08:37 xgzc 阅读(222) 评论(2) 推荐(0)
摘要:"题面" 题解 首先考虑对于一个单项式怎么做,多项式就是单项式的答案的和。 就求一下$\mathbf f(n) = n^k$吧。(下面设$t = \dfrac 1r$) 设$\mathbf S_k = \sum_{n=0}^\infty n^k \left(\dfrac 1t\right)^n$ $ 阅读全文
posted @ 2019-05-05 13:13 xgzc 阅读(390) 评论(2) 推荐(0)
摘要:"题面" 题解 记$N = \dfrac nm$ 这道题目就是要求$a_m = \sum_{i=1}^N \mu(i)\mu(im)$ 因为$\mu(ij) = \mu(i)\mu(j)[\gcd(i, j) = 1]$ 所以$a_m = \mu(m)\sum_{i=1}^N \mu^2(i) [\ 阅读全文
posted @ 2019-05-05 12:53 xgzc 阅读(329) 评论(0) 推荐(0)
摘要:"题面" 题解 这道题目还有一种比较有意思的解法。 定义一种运算$(\mathbf f\oplus\mathbf g)(x) = \prod\limits_{d\mid x}\mathbf f(d)^{\mathbf g(\frac xd)}$ 研究一下这种运算的性质: 虽然这个运算没有交换律也没有 阅读全文
posted @ 2019-03-31 17:23 xgzc 阅读(598) 评论(0) 推荐(0)
摘要:"题面" 题解 神仙题目啊QwQ 设$f_i(x)$表示以第$i$个点为根的子树需要$x$秒引爆的代价。 我们发现,这个函数是一个下凸的一次分段函数。 考虑这个函数合并到父亲节点时会发生怎样的变化。 设$f_i'(x)$是原函数,$f_i(x)$是新函数,$i$和父亲之间的边长度为$l$,$[L, 阅读全文
posted @ 2019-03-31 15:07 xgzc 阅读(2177) 评论(2) 推荐(4)
摘要:"题面" 题解 推波柿子: 设点$A(x_a, y_a), B(x_b, y_b), C(x_c, y_c), D(x_d, y_d), P(x, y)$ $\vec{a} = (x_b x_a, y_b y_a), \vec{b} = (x_d x_c, y_d y_c)$ $\overright 阅读全文
posted @ 2019-03-26 20:38 xgzc 阅读(839) 评论(1) 推荐(1)
摘要:"题面" 题解 这道题目的话,推式子比较休闲,写起来。。。 首先上套路,根据$\varphi$的一些性质,我们可以证明$\varphi(ij) = \frac{\varphi(i)\varphi(j)\gcd(i, j)}{\varphi(\gcd(i,j))}$。 开推:首先设$\textbf{f 阅读全文
posted @ 2019-03-25 22:16 xgzc 阅读(293) 评论(1) 推荐(0)
摘要:"题面" 题解 这道题目到底有没有靠谱一点的解法啊。。。 有很多种$\color{green}{\mathrm{AC}}$的方法,设$L[i],R[i]$表示点$i$最左边和最右边能够到达的位置 于是就有正着推$20$分,反着推$\color{green}{\mathrm{AC}}$ 还可以拓扑排序 阅读全文
posted @ 2019-02-28 17:27 xgzc 阅读(214) 评论(2) 推荐(0)
摘要:"题面" 题解 这棵大树有$10^{10}$个点,光建出来就TLE + MLE,所以要谨慎打题。 发现每一次都是复制模板树的子树,所以这是一个真$\cdot$树套树。 构造大树的时候,令每一个大节点对应模板树的一整棵子树,然后对新树重新编号,就像这样: 然后我们定义两个大节点之间的边的边权为两个大节 阅读全文
posted @ 2019-02-27 15:04 xgzc 阅读(215) 评论(0) 推荐(0)
摘要:"题面" 题解 考虑整体二分。 定义整体二分函数 表示操作权值在$[l, r]$中,对$[ql, qr]$的询问进行二分。 这样的话check就会很简单,先按照时间将所有$\geq mid$的边加进去,对于每个点判断是不是所有路径都经过了这个点就可以判断这个点的答案是不是$\geq mid$ 具体如 阅读全文
posted @ 2019-02-27 08:32 xgzc 阅读(230) 评论(0) 推荐(0)
摘要:"题面" 题解 首先考虑暴力,每次询问暴力求出所有$\leq a, \leq b$的边,然后判断判断两点是否联通,并且联通块内最大值是否合法就可以了。 接下来的$A$和$B$是询问的$a, b$ 将所有的边按照$a$排序并分块,将所有的询问按照$b$排序 设第$i$块的区间是$[l_i, r_i]$ 阅读全文
posted @ 2019-02-26 22:09 xgzc 阅读(168) 评论(0) 推荐(0)
摘要:"题面" 题解 知识引入 1. 平面图 一个图$G=(V,E)$,若能将其画在平面上,且任意两条边的交点只能是$G$的顶点,则称$G$可嵌入平面,或称$G$是可平面的。 可平面图在平面上的一个嵌入称为一个平面图。如下图左边黑色的图为平面图,右边红色的图不属于平面图: 2. 平面图的对偶图 设有平面图 阅读全文
posted @ 2019-02-26 21:43 xgzc 阅读(253) 评论(0) 推荐(0)
摘要:"题面" 题解 首先考虑如何判断一个区间内的数是否为一个数的倍数。 设$x_i$表示区间$[i, n]$组成的数。 如果$[l, r]$内的数是质数$p$的质数,则: $$ \frac{x_l x_{r + 1}}{10 ^ {r l + 1}} \equiv 0 \mod p $$ 当$p \ne 阅读全文
posted @ 2019-02-26 21:04 xgzc 阅读(156) 评论(0) 推荐(0)
摘要:"题面" 题解 设$[l, r]$的最小值的位置为$p$,那么对于左端点在区间$[l, p]$,右端点在区间$[p, r]$的区间最小值都为$a[p]$。 这一部分的贡献就是$a[p] \times (p l + 1) \times (r p + 1)$ 设$f_i = f_{\mathrm{pre 阅读全文
posted @ 2019-02-26 19:23 xgzc 阅读(197) 评论(0) 推荐(0)
摘要:"题面" 题解 显然两个手环只需要一个的亮度增加$c \in [ m, m]$和原题是等价的。 于是可以写成这样一个公式: $$ \sum_{i = 1} ^ n(x_i y_{i+k} + c) ^ 2 $$ 于是最后只有$ 2\sum_{i=1}^n x_iy_{i+k}$不是常数项(假设$c$ 阅读全文
posted @ 2019-02-26 18:50 xgzc 阅读(136) 评论(0) 推荐(0)
摘要:"题面" 题解 对于两个位置$l, r$,如果它们分别是区间$[l, r]$的最大值,那么可以产生$p1$的贡献, 否则如果它们中有一个是最大值,那么可以产生$p2$的贡献。 所以对于当前位置$i$,假设左右两边第一个比它大的是$l, r$,那么$[l, r]$可以产生p1的贡献,$[l + 1 \ 阅读全文
posted @ 2019-02-26 09:25 xgzc 阅读(164) 评论(0) 推荐(0)
摘要:"题面" 题解 ~~trajan的spaly是O(1)的(逃~~ 通过~~看题解~~手玩发现只要将最值的点放到树根,其他的父子关系不需要变。 于是想到动态连边和断边的数据结构:$\mathrm{LCT}$,于是用$\mathrm{LCT}$维护$\mathrm{splay}$。 这样后面的四个操作就 阅读全文
posted @ 2019-02-25 14:33 xgzc 阅读(195) 评论(0) 推荐(0)
摘要:"题面" 题解 树链剖分 + 主席树 先考虑一个简单一点的问题: "【LNOI2014】LCA" 我们考察$dep[\mathrm{LCA}(i, x)]$的性质,发现它是$i$和$x$的链交的长度。 那么对每个$i$所在的链打一个区间加标记,询问时算一下$x$所在的链的区间和即可。 如果有$l \ 阅读全文
posted @ 2019-02-22 08:35 xgzc 阅读(230) 评论(2) 推荐(0)
摘要:"题面" 题解 考察$dep[\mathrm{LCA}(i, x)]$的性质,发现它是$i$和$x$的链交的长度。 那么对每个$i$所在的链打一个区间加标记,询问时算一下$x$所在的链的区间和即可。 如果有$l \leq i \leq r$的限制,就进行离线处理即可。 代码 好久之前的代码,有点丑见 阅读全文
posted @ 2019-02-22 08:17 xgzc 阅读(233) 评论(0) 推荐(0)