• 2024-07-04复现网红阻力支撑指标RSRS,手把手教你构建大盘择时策略
    之前写过一篇利用RSRS指标做ETF轮动的文章,可能是因为回测绩效看起来还不错,其后就有不少小伙伴陆陆续续来询问,想不到还有那么多人关注,于是本期文章就想掰开了揉碎了唠唠RSRS,从数据获取、计算细节一直聊到策略构建,不藏着掖着,每一步都有对应代码。我当初关注到RSRS,是因为当时无
  • 2024-06-22斜率优化 dp
    斜率优化dp适用条件在单调队列优化dp中常见转移方程中,如果\(cost(i,j)\)多项式包含\(i,j\)乘积项,则可以化成一次函数维护斜率解决。以P5785[SDOI2012]任务安排为模板,主要记录如何斜率优化转移方程为(不多赘述)\[f_i=\min_{0≤j<i}\{f_j+S\times(sc_n-sc_j)+
  • 2024-06-22[题解]AT_abc225_e [ABC225E] フ
    思路对于每一个7,我们都可以抽象为这样一个图形:如果有两个7,无论它是否有重合部分,红色部分是不需要判断的,只需要看绿色的部分。因此,我们的问题就简化为了三角形,而不是四边形。对于所有的7,都有一个公共顶点:\((0,0)\)点。所以,我们可以引出一个叫斜率的概念来判断这些三角形
  • 2024-06-10斜率优化DP简单总结&&“土地购买”题解
    今天刚刷完了斜率优化DP,简单从头回顾一下。\[首先,能写出DP方程应该是最重要的,毕竟斜率只是用来优化的\]那么一个DP方程能用斜率优化,具备一种形式:\[f[i]+s1[i]+A[i]*B[j]=f[j]+s2[j]\]其中,f[i]表示所求值,(s1[i]、A[i])与(s2[j]、B[j])分别表示只与i或j有关的一个表达式(可以是只有常
  • 2024-06-04WQS二分 学习笔记
    问题引入前置问题:把长度为\(n\)的正整数序列分为若干段,一段代价为这段和的平方加一个常数\(c\),求最小代价。设\(f_i\)表示考虑前\(i\)个数且最后一段结尾为\(i\)的代价,答案为\(f_n\),\(f_i=\max_{j=0}^{i-1}\{f_j+(s_i-s_j)^2+c\}\),可以斜率优化,时间复杂度\(O(n)\)
  • 2024-05-19【Quant102】如何计算 N 日斜率
    一元线性回归的斜率公式是:\[k=\frac{(x-\bar{x})^T(y-\bar{y})}{\|x-\bar{x}\|^2}\]由于斜率具有平移不变性,x通常取0到窗口大小减一。defslope(df,close_col='close',slope_col='slope',window=5,inplace=True):ifnotinplace:df=df.copy()x=n
  • 2024-05-05【学习笔记】初次学习斜率优化的代码及笔记
    include<bits/stdc++.h>usingnamespacestd;intn,m;intdp[10000],s[6100],q[10000];intslope(intj,intk){intx=(dp[j]-dp[k]+s[j]s[j]-s[k]s[k])/(s[j]+s[k]);returnx;}//求斜率intmain(){while(scanf("%d%d",&n,&m)!=EOF){for(in
  • 2024-05-02Akima算法
        测量数据的内插已有各种方法,如线性内插、多项式内插、样条函数插值等,但这里的Akima插值法具有独特的优点。  线性内插只顾及其附近两点的影响。  多项式内插时,低阶多项式由于参数较少,内插精度很低,而使用高阶多项式又会使解不稳定,出现“龙格”现象,即
  • 2024-04-25【题解】A566.三点共线
    题目大意,给定在平面直角坐标系中的多个点,判断有多少个三元组\((A,B,C)\)满足共线性质。题目链接:A566.三点共线。大题思路就是暴力所有的三元组,判断三个元素的斜率是否相同即可。其实还有其他方法可以做,我个人感觉用斜率法最简单。有几点需要注意:在计算斜率的时候,如果多
  • 2024-04-202023 7月 dp做题记录
    目录7月dp做题记录TheBakeryP5785[SDOI2012]任务安排P3195[HNOI2008]玩具装箱P3648[APIO2014]序列分割7月dp做题记录TheBakery这道题的状态转移并不难列,经典的分段问题,设状态\(dp_{i,j}\)表示前\(i\)个数字分了\(j\)段的最大价值,转移可以写成\(dp_{i,j}=\max(
  • 2024-04-18[dp 小计] wqs 二分
    天才算法!国外叫Alienstrick(外星人trick),真的太强了。其实是因为IOI2016Aliens这道题考了这个算法才开始普及。解决问题wqs二分一般用来解决如下问题。给定\(n\)个数,求强制选\(m\)个的价值最大。如果不是强制选\(m\)个,这类问题很好做。现在问题就是怎么取消
  • 2024-04-12DP 优化
    矩阵加速矩阵加速是数列递推中常用的技巧。当求解的项数巨大时,不妨考虑能否将状态压进矩阵里。通常,观察出来转移与某一维无关,而这一维恰好很巨大,也就是说同一种转移被做了很多遍的时候,不妨考虑有没有矩阵加速的可能。P8624垒骰子令\(f_{i,j}\)表示垒了\(i\)个骰子,朝上
  • 2024-04-08斜率优化 DP
    对于这样一类方程\(dp_i=\min\limits_{j=1}^{i-1}(dp_j-a_ic_j)\),其中\(a,c\)都为正整数且递增:如果直接计算,时间复杂度为\(\mathcal{O}(N^2)\)。使用斜率优化,可以将时间复杂度将为\(\mathcal{O}(N)\)。在学习本节之前,请先学会单调队列,还要知道在平面直角坐标系中,斜率越小
  • 2024-04-06[DS 小计] 李超线段树
    前言大家好啊,今天讲的是LCT(李超Tree)(bushi错了错了。这两不是一个东西。概念李超树能干什么。插入一条直线/线段单点查询当前点的峰值(最大最小均可)你会说:OI中有什么是和斜率相关的吗?有,那就是斜率优化。关于斜率优化可以看这个。你会说:你说的对,静态的dp
  • 2024-04-05【计算几何】学习笔记
    计算几何用计算机解决几何问题,显然计算机(至少在OI/CPC中)是不能处理复杂的图形的,所以解决方法和数学中解析几何类似。直线直线有四种表示方法:斜截式,点斜式,两点式,一般式。斜截式:\(y=kx+b\),其中\(k\)为直线的斜率,\(b\)为截距。两点(设为\((x_1,y_1),(x_2,y_2)\))确定一条直线,
  • 2024-04-01「训练日记」2024 年 4 月日记
    「训练日记」2024年4月日记点击查看目录目录「训练日记」2024年4月日记2024/04/01GalaxyUnion*2700Goshaishunting*3000LevelsandRegions*2400确实有必要写个东西监督自己.2024/04/01感谢奇蛋物语让我理解为什么巨人被喷烂尾.GalaxyUnion*2700神金.
  • 2024-03-25斜率优化
    斜率优化,一般是在转移方程中当前为\(i\),枚举决策点\(j\),然后化简式子出现同时与\(i\)和\(j\)有关的项(如果没有可以单调队列)。这样的话有点像一次函数,形如\(y=kx+b\),那么这里的\(kx\)就是与\(i\)和\(j\)有关的项(具体题目具体分析)。问题变成查询最有决策点。如果式子
  • 2024-03-24斜率优化&李超树
    斜率优化dp1.写出dp方程,并让其变为线性其中可能需要对性质的重要分析(难点)式子一般长这个样$$f(i)=min/max(h(j)+a(i)b(j)+g(i))$$2.模板化的,分离变量具体的,先忽略\(min/max\)(其实相当于选择一个最优的\(j_0\))$$f(i)=h(j_0)+a(i)b(j_0)+g(i)$$把只与\(j_0\)相关的
  • 2024-03-23P4198 楼房重建
    P4198楼房重建求从\((0,0)\)往上看能看到多少栋没被挡住的楼房,带修改。对于带修改的题目,我们需要快速维护,就需要用到数据结构。这时候通过直觉可以想到,问题是可以分为子问题然后合并得到的,所以我们考虑线段树。观察到能被看到的楼房,从左到右斜率递增,即我们需要维护斜率递增
  • 2024-03-04回家路线
    一道好题首先肯定是DP,考虑如何DP我们发现可以尝试按照乘坐的列车编号的序列进行DP设\(f[i]\)表示某种列车序列,最后一趟车是第\(i\)个班次的最小花费那么显然有\(f[i]=f[j]+A(p_i-q_k)^2+B(p_i-q_j)+C\)打开之后发现有\(i\)和\(j\)的乘积项,所以想到斜率优化移项后变成\(2Ap_i
  • 2024-02-26Slope trick 学习笔记
    博客传送门Slopetrick的定义Slopetrick是一种通过分析DP函数在转移时的斜率变化来优化转移的技巧。通常来说,被维护的函数图像是离散的凸函数,Slopetrick会维护函数的斜率或者斜率的差分。维护凸函数主要有以下几个优点:方便维护形如\(dp'[i]\leftarrow\max(dp[i],dp
  • 2024-02-25「PR #12」电塔
    首先考虑小小地转化题意:我们知道第\(i\)座电塔的终点\(y_i\)必然大于等于\((i-1)d\),并且\(y_i-(i-1)d\)是单调不降的。所以我们将\(x_i\leftarrowx_i-(i-1)d\)然后求一个单调不降的非负整数序列\(a\)并最小化\(\sum\limits_{i=1}^n|x_i-a_i|\)。这是一个经典题。我们
  • 2024-02-222024.2.22 梦想 在什么地方 总是那么令人向往
    字符串太难了。今天早上起来牙又疼了,很难受。UOJ461考虑当前已经把整张图分成了\(L,R\)两个点集,考虑extend一个点进来。可以使用二分的方式,具体的将未加入的点按任意顺序排列,二分一个前缀并断掉\(L,R\)与这个前缀的所有边,找到一个最小的前缀满足此时不连通,此时对于这个
  • 2024-02-202024.2.20 近期练习
    P4766不难发现时间的先后顺序是不重要的。所以把时间转化到数轴上。数据范围提示区间dp,设\(f_{l,r}\)表示\([l,r]\)时间里面全部消除的代价。\(f_{l,r}=\max(f_{l,k}+f_{k,r}+d_{l,k,r})\),其中\(d_{l,k,r}\)表示跨越\(k\)的,且在\([l,r]\)里最远的距离。然而\(d\)
  • 2024-02-18学习笔记#5:单调队列优化&斜率优化
    学习笔记#5:单调队列优化&斜率优化单调队列首先要搞懂什么是单调队列。单调队列是一种求区间最值问题的一种方式,与其他RSQ问题的求解方法不同的是,它更善于解决滑动窗口式的RSQ问题,一般来说,假设我们要维护最大值,则需维护一个单调递减的队列,这样队首最大,每次取队首即可。而当