直线的斜率

AcWing 301 任务安排2

不打扰是莪最后的温柔 提交于 2020-03-03 23:45:18
题目描述: 有 N 个任务排成一个序列在一台机器上等待执行,它们的顺序不得改变。 机器会把这 N 个任务分成若干批,每一批包含连续的若干个任务。 从时刻0开始,任务被分批加工,执行第 i 个任务所需的时间是 Ti。 另外,在每批任务开始前,机器需要 S 的启动时间,故执行一批任务所需的时间是启动时间 S 加上每个任务所需时间之和。 一个任务执行后,将在机器中稍作等待,直至该批任务全部执行完毕。 也就是说,同一批任务将在同一时刻完成。 每个任务的费用是它的完成时刻乘以一个费用系数 Ci。 请为机器规划一个分组方案,使得总费用最小。 输入格式 第一行包含整数 N。 第二行包含整数 S。 接下来N行每行有一对整数,分别为 Ti 和 Ci,表示第 i 个任务单独完成所需的时间 Ti 及其费用系数 Ci。 输出格式 输出一个整数,表示最小总费用。 数据范围 1≤N≤3∗10^5, 1≤Ti,Ci≤512, 0≤S≤512 输入样例: 5 1 1 3 3 2 4 3 2 3 1 4 输出样例: 153 分析: 在 AcWing 300 任务安排1 中,我们使用了费用提前计算的技巧,实现了本题平方级别的算法,对于本题增加的数据范围,显然平方级别的算法不足以解决问题,我们在上一题中推导出了本题的状态转移方程f[i] = min(f[j] + (sc[i] - sc[j])*st[i] + (sc

导数

社会主义新天地 提交于 2020-01-06 15:44:00
【导数】是用来分析变化的。 导数有什么用? 导数是用来分析变化的。 以一次函数为例,我们知道一次函数的图像是直线,在解析几何里讲了,一次函数刚好就是解析几何里面有斜率的直线,给一次函数求导,就会得到斜率。 曲线上的一点如何向另一点变化,就是通过倾斜度的“缓”与“急”来表现的。对一次函数求导会得到直线的斜率,对曲线函数求导能得到各点的斜率。 综上所述,导数是用来分析“变化”的工具。 导数是什么 用下面的图来说明导数是什么 某一点的斜率和瞬间斜率 课本上讲了函数的瞬时变化率,但是对于同学们来说,这个讲法太不好理解。我们还是用,解析几何里面经常讲的斜率来说比较好。 前面说了,导数的目的是分析变化。突然提出“变化”,你可能无法理解,我们以过山车为例来说明一下。 ​ 过山车的车道多为曲线,因此我们可以认为乘坐者是在过山车的轨道曲线上移动。过山车向下俯冲、水平前行、向上攀升,在不同的地点,乘坐者的身体会产生拉、拽或失重等不同感受。这种状况出现的重要原因之一,就是身体的方向和速度发生了变化。过山车的轨道为曲线,乘客在轨道上任意一点的方向和趋势都不相同。 ​ 以数学思维来思考该话题的话,函数图形中的曲线就相当于过山车轨道,图形上的点就是飞驰在轨道上的过山车。试着描绘一下过山车在曲线各点上的运动趋势,会发现它们都朝着各自不同的方向前进。只是不知道图形上点的移动速度而已。 ​

导数

六月ゝ 毕业季﹏ 提交于 2020-01-05 13:33:29
【导数】是用来分析变化的。 导数有什么用? 导数是用来分析变化的。 以一次函数为例,我们知道一次函数的图像是直线,在解析几何里讲了,一次函数刚好就是解析几何里面有斜率的直线,给一次函数求导,就会得到斜率。 曲线上的一点如何向另一点变化,就是通过倾斜度的“缓”与“急”来表现的。对一次函数求导会得到直线的斜率,对曲线函数求导能得到各点的斜率。 综上所述,导数是用来分析“变化”的工具。 导数是什么 用下面的图来说明导数是什么 某一点的斜率和瞬间斜率 课本上讲了函数的瞬时变化率,但是对于同学们来说,这个讲法太不好理解。我们还是用,解析几何里面经常讲的斜率来说比较好。 前面说了,导数的目的是分析变化。突然提出“变化”,你可能无法理解,我们以过山车为例来说明一下。 ​ 过山车的车道多为曲线,因此我们可以认为乘坐者是在过山车的轨道曲线上移动。过山车向下俯冲、水平前行、向上攀升,在不同的地点,乘坐者的身体会产生拉、拽或失重等不同感受。这种状况出现的重要原因之一,就是身体的方向和速度发生了变化。过山车的轨道为曲线,乘客在轨道上任意一点的方向和趋势都不相同。 ​ 以数学思维来思考该话题的话,函数图形中的曲线就相当于过山车轨道,图形上的点就是飞驰在轨道上的过山车。试着描绘一下过山车在曲线各点上的运动趋势,会发现它们都朝着各自不同的方向前进。只是不知道图形上点的移动速度而已。 ​

suac 2012新生赛 F切水果

…衆ロ難τιáo~ 提交于 2019-12-26 12:36:06
题意: 描述 Lrc是校队里面的总所周知的全才王,他不仅是一个excelent acmer,也不仅是一个chess master,更是一个crazy game player。 切水果,正是他最喜欢玩的手机游戏之一。为了避免有人没玩过,下面介绍一下Lrc是怎么玩这个游戏的~-~ 1) 整个屏幕是一个笛卡尔坐标系。 2) 在某个时刻,屏幕上会出现灰常多的水果,西瓜、草莓神马的,当然还有一种,炸弹。 3) 每个时刻用手指在屏幕上划过,切中水果可以得到一定得分数,切到炸弹就要扣分。 4) 每个时刻最多只能切一刀,至于一刀切多少个可以自由控制。 5) 第t时刻没有被切的水果,将不会出现在下一个时刻。 6) 由于Lrc 骨骼奇精,所以手指在屏幕上只能划直线(线段),也就是说只有在同一直线上的水果他才能在同一时间内切到。(友情提醒,直线不仅是斜的,也可以是水平和垂直的哦)。 由于Lrc比较神,每次他总能得到最高分。嘿嘿,你想要成为未来的Acmer吗?那就必须帮Lrc算出他的分数咯O(∩_∩)O~ ---------------------------------------------------------------------------------------------------------------------------------------- PS:记住

【斜率优化】HDU-2993——MAX Average Problem

我与影子孤独终老i 提交于 2019-12-22 05:39:39
前言 大约一年前,我在机房学“斜率优化” 一年后的今天,我在机房学“斜率优化” ... ... 题目 Consider a simple sequence which only contains positive integers as a1, a2 ... an, and a number k. Define ave(i,j) as the average value of the sub sequence ai ... aj, i<=j. Let’s calculate max(ave(i,j)), 1<=i<=j-k+1<=n. Input There multiple test cases in the input, each test case contains two lines. The first line has two integers, N and k (k<=N<=10^5). The second line has N integers, a1, a2 ... an. All numbers are ranged in [1, 2000]. Output For every test case, output one single line contains a real number, which is mentioned in the

Jarque-Bera test|pp图|K-S检验|

橙三吉。 提交于 2019-12-03 05:04:22
Jarque-Bera test: 如何绘制 pp 图 ? 找该直线的截距和斜率,通过截距和斜率的值找到正态参数均值和方差,可对这些正态参数进行正态检验。 K-S 检验的的特点? 并不是只针对正态分布,是针对某一分布。在大样本时针对正态分布。 来源: https://www.cnblogs.com/yuanjingnan/p/11779152.html

关于斜率优化半凸包规律的小结

穿精又带淫゛_ 提交于 2019-12-03 04:11:45
最近做了几道简单的斜率优化题,发现其实对于式子画出来的半凸包是有规律的,来分享一下。(这里只针对横坐标单调递增且查询的斜率恒正或者恒负的情况) 1,照常用朴素的式子(一般O(n^2))推到一边只含j(就是y),另外一边含kx+b的形式,然后不要用不等式来强推(这样不会错,但是很烦)。 2,假如题目求最小值,就是一条直线从下往上扫描,同时对应的是下凸包(这里的下是指大致为y=1/x当x>0时的图像或者是y=-1/x当x<0时的图像);同理,最大值为上凸包(这里的上是指大致为y=1/x当x<0时的图像或者是y=-1/x当x>0时的图像)。 3,假如查询的斜率是正数,就是大概y=-1/x的图像(只取一支,视乎满足2中的哪个条件),假如是负数,则相反,是y=1/x的图像。 这样大概就可以把图像画出来了,然后就可以很简单地数形结合来做题了。 当然这里只是对于最简单的那种情况,假如别的不单调,要用二分斜率或者是平衡树的方法来维护DP。 来源: https://www.cnblogs.com/Ronald-MOK1426/p/11776430.html

斜率优化总结

匿名 (未验证) 提交于 2019-12-02 23:52:01
考虑如下$dp$: $dp(i)=max/min(A(i)+B(j)+C(i)D(j))$ $(j < i)$ 其中,A(i),C(i)只与i有关,B(j),D(j)只与j有关。 括号里有与i,j同时有关的项,导致单调队列优化失效,但是如果这样的项只有一个可以采用斜率优化。方法如下: 将此dp方程转化为$dp(i)-A(i)=max/min(B(j)-C(i)(-D(j)) )$的形式。 设b=dp(i)-A(i),y=B(j),k=C(i),x=-D(j) 即$b=y-kx$,这时,只要使b最小/最大,就能使结果最小/最大。 移项,得$y=kx+b$,转化为直线的形式。每计算完一个j就可以计算出对应的x,y. 其实就是把要最优的值设为b,只和j相关的项设为y,同时相关的设为kx。 还有类似$b=ay-kx$的形式(两项相关),只要转为$b/a=y-(k/a)*x$即可。 以最大为例(最小类似),现在就是要在所有的(x,y)中找出一对使得b最大。 把(x,y)表示为坐标系中点的形式,就是找一个点使得斜率为k的直线经过这个点时与y轴的交点的y坐标尽量大。 可以发现把斜率为k的直线放在无限高处,再向下平移,接触到的第一个点就是结果。 如图: 因为要求最大值,所以只有上凸包上的点有可能成为最大值,其他点可以删除。 这时,红色箭头即为b,绿色箭头即为最优的(x,y)。dp(i)就是b+A

直线的斜率

匿名 (未验证) 提交于 2019-12-02 23:40:02
斜率,亦称"角系数",表示一条直线相对于横轴的 倾斜 程度。一条直线与某 平面直角坐标系 横轴正半轴方向的夹角的 正切值 即该直线相对于该坐标系的斜率。 如果直线与x轴垂直,直角的正切值无穷大,故此直线不存在斜率。 当直线L的斜率存在时,对于一次函数y=kx+b( 斜截式 ),k即该 函数图像 (直线)的斜率。 定义 由一条直线与右边X轴所成的角的 正切 。 k=tanα=(y2-y1)/(x2-x1)或(y1-y2)/(x1-x2) 直线斜率相关 当直线L的斜率不存在时, 斜截式 y=kx+b 当k=0时 y=b 当直线L的斜率存在时,点斜式y2-y1=k(X2-X1), 当直线L在两坐标轴上存在非零 截距 时,有截距式X/a+y/b=1 对于任意函数上任意一点,其斜率等于其切线与x轴正方向的夹角,即tanα 斜率计算:ax+by+c=0中,k=-a/b. 直线斜率公式:k=(y2-y1)/(x2-x1) 两条垂直相交直线的斜率相乘积为-1:k1*k2=-1. 当k>0时,直线与x轴夹角越大,斜率越大;当k<0时,直线与x轴夹角越大,斜率越小。 在物理中,斜率也有很重要的意义, 第一个,从课标的这个角度,我们可以知道在义务教育阶段,学习了一次函数,它的几何意义表示为一条直线,一次项的系数就是直线的斜率,只不过当直线与X轴垂直的时候无法表示。虽然没有明确给出斜率这个名词

「学习笔记」斜率优化

心已入冬 提交于 2019-12-02 02:58:28
太久没碰过这个玩意了,于是它就变成学习笔记了。 题目特点 一般来说,斜率优化的dp会比其它的dp得到转移方程要简单一点点。 通式大概是: \[ f[i] = a(i)b(j) + c(i) + d(j) \] 也就是说,这种dp和单调队列不同的一点是有同时和 \(i,j\) 有关的项,这时候就需要用到斜率优化。 拿道题目来讲可能效果更好一些。 P3195 [HNOI2008]玩具装箱 设前缀和为 \(s(i)\) ,那么很快得到dp方程: \[ f[i] = \min_{j < i}\{f[j] + (s(i) + i - s(j) - j - L - 1) \} \] 设 \(a(i) = s(i) + i, b(i) = a(i) + L + 1\) 。 于是 \[ \begin{aligned}f[i] &= f[j] + (a(i) - b(j))^2 \\&= f[j] + a(i)^2 - 2a(i)b(j) + b(j)^2\end{aligned} \] 移项可得 \[ 2 a(i)b(j) + f[i] - a(i)^2 = f[j] + b(j)^2 \] 令 \(b(j) = x, f[j]+b(j)^2 = y\) ,那么这个方程就可以看成一条平面直角坐标系上的一条直线。 此时 \(f[i]\) 的含义变为,当这条直线经过点 \(P(x, y)\) 时,与