分治
文章平均质量分 90
_ 泛白
QQ1204731545
展开
-
1458F - Range Diameter Sum(分治+数据结构)
题目链接题意给一颗n点无根树,令D(x,y)D(x,y)D(x,y)表示编号在[x,y][x,y][x,y]的点组成的树的直径,求∑l=1n∑r=l+1nD(l,r)\sum_{l=1}^n\sum_{r=l+1}^nD(l,r)∑l=1n∑r=l+1nD(l,r)解题思路考虑分治,可以把当前[l,r]的问题分解成[l,mid]的问题和[mid+1,r]的子问题。现在考虑如何快速所有左端点在[l,mid][l,mid][l,mid],右端点在[mid+1,r][mid+1,r][mid+1,r原创 2021-01-21 17:42:19 · 323 阅读 · 0 评论 -
CodeForces 1303G - Sum of Prefix Sums(点分治+李超树)
题意给一颗树,每个点有点权,求树上一条路径u1,u2,...uku_1,u_2,...u_ku1,u2,...uk获得点权数组au1,au2,...auka_{u_1},a_{u_2},...a_{u_k}au1,au2,...auk。要使得它的前缀和的前缀和最大,求这个最大值。解题思路树上路径的问题会想到用点分治去解决,以点分治的想法,如何把当前一条路径和现存的路径信息合...原创 2020-02-17 10:55:36 · 388 阅读 · 0 评论 -
2020 CCPC Wannafly Winter Camp Day3 F. 社团管理 (DP && 分治)
题意:有nnn个数字a1,2...na_{1,2...n}a1,2...n,要分成k段,每段的价值为段内满足[ai==aj]and[i==j][a_i==a_j] and[i==j][ai==aj]and[i==j]的(i,j)(i,j)(i,j)对数。(n,ai≤1e5,k≤min(n,20))(n,a_i\le 1e5,k\le min(n,20))(n,ai≤1e5,k≤min(...原创 2020-01-26 13:11:43 · 268 阅读 · 0 评论 -
整体二分学习笔记
今天学了一下整体二分,和CDQ分治有点像,都是把询问整合起来一起按顺序处理。原理解释传入它的参数一般是4个(l,r,L,R)( l,r,L,R)(l,r,L,R),代表下标为[L,R]的操作中,询问的答案在[l,r]之间,修改的权值在[l,r]之间。它解决问题的一个经典例子是区间第k大的问题。区间第k大问题,被拆成两种操作:位置pospospos处增加一个权值为xxx的数查询位置[l...原创 2020-01-23 20:26:18 · 176 阅读 · 0 评论 -
Codeforces Round #592 (Div. 2) F. Stack Exterminable Arrays (dp/分治)
题目链接题目大意:定义一个序列是好的:维护一个栈,一开始为空,遍历序列,如果当前元素值与栈顶元素相同,弹出栈顶元素,否则把这个元素入栈。当遍历完后栈为空,则它是好的。给你一个n个元素的序列,求它有多少个非空子序列是好的。解题思路:DP版本:设dp[i]dp[i]dp[i]为以i为左端点满足条件的子序列个数。对于每个位置iii,设以这个位置为起点往后遍历,第一次使得栈为空的位置为nxt...原创 2019-10-09 22:19:06 · 260 阅读 · 0 评论