分治
YiPeng_Deng
这个作者很懒,什么都没留下…
展开
-
CF1442D Sum
Description给你nnn个栈,你需要对于每一个栈,从前往后选择若干个,栈中每一个元素有一个贡献,问选择kkk个的最大贡献是多少。n≤3000,∑c≤1e6,k≤3000n\le3000,\sum c\le1e6,k\le3000n≤3000,∑c≤1e6,k≤3000Solution首先考虑单调性,不可能同时有两个栈没有选择完,因为如果有ai>bja_i>b_jai>bj,一定有ai+1>bj−1a_{i+1}>b_{j-1}ai+1>bj−1原创 2020-11-04 08:31:43 · 460 阅读 · 2 评论 -
【2019杭州集训12.09】向量
Description给定一棵 nnn 个节点的树,点的标号为 1..n1..n1..n,边有边权。记 d(u,v)d(u, v)d(u,v) 为 uuu 到 vvv 的路径上边的权值和,对于每个节点 uuu,你需要给出一个 mmm 维向量 pu=pu =pu={ pu,1,..,pu,mp_{u,1}, .., p_{u,m}pu,1,..,pu,m }。使得对于任意点对 u,vu...原创 2019-12-10 09:52:05 · 203 阅读 · 0 评论 -
JZOJ6362. 【NOIP2019模拟2019.9.18】数星星(star)
DescriptionSolution考虑分治,将每一个询问挂在包括它的最大的区间中。只考虑中点往右的区间的贡献,那么每一个点对于覆盖它的最早的时间有一个贡献。我们建一个虚树,并且用并查集路径压缩,即覆盖过的点不再走那么就可以保证时间了。而覆盖的贡献我们记录在一个以时间为下标的树状数组中,便于之后的查询。然后再考虑从中点往左边处理覆盖操作,并同时处理左端点在当前位置的询问。但是我们...原创 2019-09-21 14:28:23 · 310 阅读 · 0 评论