传送门 题目并不难(想) 其实就是用倍增维护几个树上信息. 也就这么几个: 子树内最长链及其后继点. 子树内次长链及其后继点. 子树内第三场链(也就是dzyodzyodzyo口中鬼畜的次次长链) 点iii的第2j2^j2j个父亲不计算iii这棵子树的最优值−dep-dep−dep 点iii的第2j2^j2j个父亲不计算iii这棵子树的最优值+dep+dep+dep 点iii的第2j2^j2j个祖先 然后注意细节狂码一波就能过了 代码…
传送门 如果观察到性质其实也不是很难想. 然而考试的时候慌得一批只有心思写暴力233. 下面是几个很有用的性质: c0,1+1≥c1,0≥c0,1c_{0,1 }+1 ≥ c_{1,0} ≥ c_{0,1}c0,1​+1≥c1,0​≥c0,1​,因为$ 10, 01 $是交替出现的. c1,0+c0,0c_{1,0 }+c_{0,0}c1,0​+c0,0​是000出现的次数. c0,1+c1,1+1c_{0,1}+ c_{1,1}+1c0,1​+c1,1​+1 是111 出现的次数. 由于满足条…
传送门 把每一个数aaa质因数分解. 假设a=p1a1∗p2a2∗...∗pkaka=p_1^{a_1}*p_2^{a_2}*...*p_k^{a_k}a=p1a1​​∗p2a2​​∗...∗pkak​​ 然后可以转化成a′=p1a1mod3∗p2a2mod3∗...∗pkakmod3a'=p_1^{a_1mod3}*p_2^{a_2mod3}*...*p_k^{a_kmod3}a′=p1a1​mod3​∗p2a2​mod3​∗...∗pkak​mod3​ 然后可以找到另外一个不含立方因子的bb…
[题目描述] 小Y在学树论时看到了有关二叉树的介绍:在计算机科学中,二叉树是每个结点最多有两个子结点的有序树.通常子结点被称作“左孩子”和“右孩子”.二叉树被用作二叉搜索树和二叉堆.随后他又和他人讨论起了二叉搜索树.      什么是二叉搜索树呢?二叉搜索树首先是一棵二叉树.设key[p]表示结点p上的数值.对于其中的每个结点p,若其存在左孩子lch,则key[p]>key[lch]:若其存在右孩子rch,则key[p]<key[rch]:注意,本题中的二叉搜索树应满足对于所有结点,其左子树中…
传送门 对于每个点离线处理出向上走2i2^i2i班车到的最上面的点. 然后每个询问(u,v)(u,v)(u,v)先把(u,v)(u,v)(u,v)倍增到刚好走不到lcalcalca的情况(有一个点如果就是lcalcalca直接特判) 然后考虑最后把(u′,v′)(u',v')(u′,v′)连起来需要走一次还是两次. 这个就是一个二维数点问题了. 用dfsdfsdfs序求出每个点管辖的子树表示的区间. 然后对于询问(a,b)(a,b)(a,b)在dfs到aaa时统计bbb子树的答案. 把aaa子树…
传送门 首先按照题意构造出转移矩阵. 然后可以矩阵快速幂求出答案. 但是直接做是O(n3qlogm)O(n^3qlogm)O(n3qlogm)的会TTT掉. 观察要求的东西发现我们只关系一行的答案. 于是倍增预处理出logloglog个矩阵每次变成O(n2)O(n^2)O(n2)转移. 代码…
传送门 听说是最长反链衍生出的对偶定理就能秒了. 本蒟蒻直接用线段树模拟维护的. 对于第一维排序. 维护第二维的偏序关系可以借助线段树/树状数组维护逆序对的思想建立权值线段树贪心求解. 代码…
传送门 按照题意模拟维护最小的环套树森林就行了. 然而考试的时候naivenaivenaive瞎写了一个错误的贪心. 代码…
传送门 sb模拟,考试跟着sb了90分. 代码…
传送门 签到题,直接瞎模拟就行了. 代码…