首页 > 其他分享 >Slope Trick

Slope Trick

时间:2023-02-25 21:24:21浏览次数:30  
标签:Slope begin end 函数 转折点 Trick

原理

若一个函数满足:

  1. 连续
  2. 分段线性
  3. 凸性
    则可以使用 Slope Trick 来快速维护。

我们发现我们可以仅通过记录转折点,转折点处斜率变化,以及一侧的直线即可维护出整个函数。具体而言每一个转折点出现,我们就认为该函数在该点斜率变化了 1.
举个例子,对于如下函数:

\[\begin{equation} y(x)=\left\{ \begin{aligned} -x & \quad x<0\\ 0 & \quad 0\leq x \leq 2\\ 2x + 3 & \quad x>2\\ \end{aligned} \right. \end{equation} \]

标签:Slope,begin,end,函数,转折点,Trick
From: https://www.cnblogs.com/zym417/p/17155395.html

相关文章

  • Slope Trick
    定义本质上是用一个二元组\((S,f(x))\)描述由一堆直线构成的分段函数去优化dp,要求这些分段函数满足凸性。其中\(S\)是一个可重集,\(f(x)\)是一个一次函数。我们定义......
  • Little Useless Trick
    记录一下近期收集到的没用的小\(trick\)。并查集合并树我们考虑去维护这样一种操作:1xy给\(x\)和\(y\)之间连一条无向边。2x询问\(x\)所在的连通块内点的......
  • Slope trick 学习笔记
    Slopetrick学习笔记概述Slopetrick是一种维护凸函数优化dp的方式。通过记录函数的转折点和最右段的一次函数,就可以表示出一个凸函数。一个转折点\(x\)表示在\(......
  • 树上匹配的小trick
    一棵树上有一些黑点和白点,将它们两两配对,配对\((i,j)\)的代价为\(dist(i,j)\),求最小代价。结论:将黑点的权值设为\(1\),白点的权值设为\(-1\),\(S_i\)为\(i\)子树的......
  • 中考物理trick1
    同压强不同密度减去相同高度,比密度\(\rho_Agh_A=\rho_Bgh_B\)同减去\(\Delta_h\)带入展开化简发现只需要比密度杠杆平衡减去同长度或同重力\(l_1F_1=l_2F_2\)姑且平......
  • 一个看起来比较有用的小 trick。
    ABC287Ex-DirectedGraphandQuery其实相当于分步加入点,构成点导出子图。Floyd维护联通性来判断。但是Floyd是\(O(N^3)\)的,非常慢。那么拿bitset维护就能优......
  • Trick 12:各种优美的暴力复杂度
    一些经典的\(\mathcal{O}(n\logn)\)复杂度的暴力美学:启发式合并:多个集合总大小为\(n\),每次合并两个集合并处理信息,若合并\(a,b\)的复杂度为\(\mathcal{O}(\min(......
  • Trick 11:区间 DP 杂题选讲
    大家好,下面讲的题目一个都不会,但是我脸皮很厚,所以分享给大家了。搁前面说一句:做题的时候能不能别丢掉这个算法啊!试一下啊!Pro.1P7914这是一个练手题。我们先来说说括号......
  • Trick 10:树论小知识
    关于树上的路径\(a_1\toa_2\toa_3\toa_4\to...\toa_n\)(\(a_i\)与\(a_{i+1}\)之间未必有边,路径可重复)的路径并处理问题如果我们面临多次询问,每次给你一堆......
  • 刷算法题的一些Trick
    1字符串的输入在读字符串的时候,一般建议这么写charstr[N];//字符数组scanf("%s",str);//因为str可以当作指针,所以不用&puts(str);字符串作为函数参数的时候......