堆
文章平均质量分 51
Vectorxj
这个作者很懒,什么都没留下…
展开
-
BZOJ 2006 && NOI 2010 [优先队列]
2006: [NOI2010]超级钢琴 小Z是一个小有名气的钢琴家,最近C博士送给了小Z一架超级钢琴,小Z希望能够用这架钢琴创作出世界上最美妙的音乐。 这架超级钢琴可以弹奏出n个音符,编号为1至n。第i个音符的美妙度为Ai,其中Ai可正可负。 一个“超级和弦”由若干个编号连续的音符组成,包含的音符个数不少于L且不多于R。我们定义超级和弦的美妙度为其包含的所有音符的美妙度之和。两个超级和弦被认为是相原创 2016-09-21 20:59:06 · 519 阅读 · 0 评论 -
[贪心]ARC080 E - Young Maids
DescriptionDescription给一个排列pnp_n,每次可以选择排列pp中的相邻的两个数,把这两个数放到qq的最前面。 要求最小化字典序SolutionSolution这不就是贪心啊。。 跟超级钢琴一样的做法。 因为这两个数在原排列中的奇偶性不同,开两颗线段树(好吧,是不想打ST表)存一下最小值的位置就好了。。#include <bits/stdc++.h>using name原创 2017-10-17 19:48:41 · 332 阅读 · 0 评论 -
[堆与斜率] Codeforces 713C - Sonya and Problem Wihtout a Legend
DescriptionDescription给定一个序列,每次可以对一个数+1+1、−1-1,问最少的操作次数使得序列严格上升。SolutionSolution这里提供了一种O(nlogn)O(nlogn)的做法。 大概就是fif_i是一个斜率非正的单峰函数,要找到最值的位置就是斜率从−1-1变到00的时候。 fi(x)={MINY≤X|Ai−Y|MINY≤X(fi−1(Y)+|Ai−Y|)i=原创 2017-12-13 16:51:28 · 664 阅读 · 0 评论 -
[堆与斜率] BZOJ 4585: [Apio2016]烟火表演
SolutionSolutionH(x)=∑|x−wu|H(x)=\sum|x-w_u|这是一个凸包。并且在相近的两个点对(可以有重复)斜率相差11。 考虑如何从子树加入一条连向父亲的边,形成新的凸包H′H'。 设取到最小值的区间为[L,R][L,R]。H′(x)=⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪H(x)+wH(L)+w−(x−L)H(L)H(L)+(x−R)−wx≤LL≤x≤L+wL+w≤x≤R+wR+原创 2017-12-13 19:52:30 · 835 阅读 · 0 评论 -
[DP][堆与斜率] ARC070 E - NarrowRectangles
SolutionSolutionSolution先看这个部分分。显然是个暴力DP。 设dpi,xdpi,xdp_{i,x}表示考虑了前iii个矩形,第iii个左端点在xxx的最优解。 转移就是dpi,x=MINx−(ri−1−li−1)≤y≤x+(ri−li)dpi−1,y+|x−li|dpi,x=MINx−(ri−1−li−1)≤y≤x+(ri−li)dpi−1,y+|x−li|dp_{...原创 2018-02-22 16:06:03 · 692 阅读 · 0 评论 -
[NTT][DP][树链剖分][分治] LOJ #6289. 花朵
SolutionSolutionSolutionfu,0/1,ifu,0/1,if_{u,0/1,i}表示uuu子树中选了iii个点,uuu选不选的答案。 转移显然就是一个卷积的形式。 考虑重链剖分。 先把轻儿子卷到根,这样只需要考虑重链。 再考虑重链上的DP。 考虑头尾选不选gu,0/1,0/1gu,0/1,0/1g_{u,0/1,0/1}。这也是个卷积,可以分治+FFT。#i...原创 2018-03-05 16:48:57 · 900 阅读 · 0 评论