凸包
meopass
即使摸爬滚打,满身泥泞,我也要前进
展开
-
codeforces406D LCA+凸包
首先我们来想一下,如果两个山顶间有连边,意味着两座山中间没有任何一座山高于这两座山的连线。 加入从左到右三座山分别是p, q, r,这就意味着Kpq >= Kqr,否则q山将是不合法的,这其实就是在维护一个凸包。 接下来的问题是,我们需要能够到达当前能够到达的最右端的山峰,并且在这里我们能和团队中的另一个人相遇。 第一个问题我们可以反向维护一个下凸壳来解决,之后我们就得到了当前山峰能够到达的最原创 2017-08-16 15:42:09 · 331 阅读 · 0 评论 -
codeforces 455E Convex hull trick
简略题意:给出n个数a[i]a[i],回答mm次询问(xi,yi)(xi, yi),每次回答f(xi,yi)f(xi, yi)是多少。 ∗f(1,j)=a[j],1≤j≤n.* f(1, j) = a[j], 1 \leq j \leq n. ∗f(i,j)=min(f(i−1,j),f(i−1,j−1))+a[j],2≤i≤n,i≤j≤n.* f(i, j) = min(f(i-1, j),原创 2017-08-30 22:51:49 · 275 阅读 · 0 评论