当前位置: 首页 > news >正文

周至做网站的公司/互联网广告销售是做什么的

周至做网站的公司,互联网广告销售是做什么的,2020北京冬奥会网页制作,在线中文字日产幕免费在线先来个华丽的出场~~ 今天,蒟蒻仍在赶知识点的路上。昨天刚学过数位DP,今天又学了斜率优化,被爆锤了。 不扯淡了,现在就来写一下总结吧。 斜率优化,既然叫这个名字,那么,这个算法的性质其实就已…

Saber!!!
先来个华丽的出场~~
今天,蒟蒻仍在赶知识点的路上。昨天刚学过数位DP,今天又学了斜率优化,被爆锤了。
不扯淡了,现在就来写一下总结吧。
斜率优化,既然叫这个名字,那么,这个算法的性质其实就已经确定了:DP优化。
也就是说,它本身并不像树形DP或数位DP那样解决一些特定性质的问题的,而是类似于矩阵乘法那样,对于某些DP方程,加速地进行转移,以用来攻克一些给出的n较大时的情况。
学了斜率DP,你会发现,自己学了多年的数学终于!!!在此刻派上了用场。斜率DP,顾名思义,与平面几何,也就是我们所学的一次函数有关。斜率优化往往是用于一些具有递推性质的DP方程中去的。
如:
在这里插入图片描述
本题就是一道典型的斜率优化问题。首先,在写斜率优化题目的时候,最重要的一步并非优化,而是想出DP转移方程。优化可以没有,但没有转移方程,一定不行。
就如本题,若n的范围够小的话,我们可以双重循环枚举来搞。开一个f数组,f[i]f[i]f[i]表示将前iii个任务分组后的最小总费用。求f[i]f[i]f[i],我们枚举j(1−(i−1))j( 1-(i-1) )j(1(i1)),将j−ij-iji分为一组,求最小总费用。
但是,很显然,本题的nnn太大了,O(n2)O(n^2)O(n2)肯定过不去,这时,就要考虑斜率优化了。
考虑一下f[i]f[i]f[i]的表达式:f[i]=f[j]+(sumc[i]−sumc[j])∗sumt[i]+s∗(sumc[n]−sumc[j])f[i]=f[j]+(sumc[i]-sumc[j])*sumt[i]+s*(sumc[n]-sumc[j])f[i]=f[j]+(sumc[i]sumc[j])sumt[i]+s(sumc[n]sumc[j]),将其展开,化为y=kx+by=kx+by=kx+b的形式:f[j]=(sumt[i]+s)∗sumc[j]+f[i]−sumc[i]∗sumt[i]−s∗sumc[n]f[j]=(sumt[i]+s)*sumc[j]+f[i]-sumc[i]*sumt[i]-s*sumc[n]f[j]=sumt[i]+ssumc[j]+f[i]sumc[i]sumt[i]ssumc[n],如式子,我们将sumc[j]sumc[j]sumc[j]视为一次函数中的xxx(sumt[i]+sumc[j])(sumt[i]+sumc[j])sumt[i]+sumc[j]视为kkkf[j]f[j]f[j]视为yyyf[i]−sumc[i]∗sumt[i]−s∗sumc[n]f[i]-sumc[i]*sumt[i]-s*sumc[n]f[i]sumc[i]sumt[i]ssumc[n]视为bbb,那么,斜率相同的情况下,为使f[i]f[i]f[i]minminmin,我们就要在(sumc[j],f[j])(sumc[j],f[j])(sumc[j],f[j])的点集中找到使这条直线从下向上找,找到的第一个点便是所需的jjj
如图:
在这里插入图片描述

对于任一条斜率大于0的直线,先找到的一定都是图中的粉色的点,而这三点则恰好构成了本图的一个凸包,所以,我们在找点时,实际上只需维护凸包即可,又因本题的sumc[i](也就是一次函数的k)sumc[i](也就是一次函数的k)sumc[i]k是单调递增的,所以,我们可以将凸包中斜率小于当前的sumc[i]sumc[i]sumc[i]的点删去,这就是本题的大致思路了。
代码如下:

#include<bits/stdc++.h>
using namespace std;
const int N=4e5;
typedef long long LL;
int l=0,r=0,n,s,q[N];
LL f[N],c[N],t[N];
int main()
{cin>>n>>s;for(int i=1;i<=n;i++){int tt,cc;scanf("%d%d",&tt,&cc);t[i]=t[i-1]+tt;c[i]=c[i-1]+cc;}for(int i=1;i<=n;i++){while(l<r&&(f[q[l+1]]-f[q[l]]<(s+t[i])*(c[q[l+1]]-c[q[l]]))) l++;f[i]=f[q[l]]+t[i]*(c[i]-c[q[l]])+s*(c[n]-c[q[l]]);while(l<r&&((f[i]-f[q[r]])*(c[q[r]]-c[q[r-1]])<=(f[q[r]]-f[q[r-1]])*(c[i]-c[q[r]]))) r--;q[++r]=i;}cout<<f[n];return 0;
}

好了,本次的博客就更新到这里。

http://www.lbrq.cn/news/1320139.html

相关文章:

  • 找事做的网站/外贸全网营销推广
  • 网络规划设计 网站建设/郑州优化公司有哪些
  • 怎样做黄色网站/前端培训班一般多少钱
  • 网站建设架构细节/廊坊关键词排名首页
  • 如何查看网站的流量/搜索引擎优化的内容
  • 网站开发安全需求/关键词搜索排名推广
  • 做网站毕业设计存在的问题/互联网最赚钱的行业
  • 苏州高端网站设计企业/免费外链工具
  • 承德市网站建设/阿里巴巴seo排名优化
  • 想学做网站学什么编程语言/google网站登录入口
  • 企业网站模板建设/百度用户服务中心电话
  • 北京网站建设东轩seo/关键词优化seo优化排名
  • 编辑html/排名轻松seo 网站
  • 杭州网站设计予尚/域名注册管理机构
  • 宝鸡做网站哪家好/aso优化方法
  • WordPress手机APP源码/怎样进行seo推广
  • 北戴河网站建设/青岛谷歌优化
  • 乐昌网站建设/香港seo公司
  • 东莞常平嘉华学校/360手机优化大师下载
  • 蕴川路上海网站建设/太原seo软件
  • 谁告诉你j2ee是做网站的/精准客户数据采集软件
  • 三星商城app下载/网站优化排名首页
  • b2b网站制作/网站没有友情链接
  • 网上做翻译兼职网站/今日最新消息
  • 网站建设新模式/磁力宝最佳搜索引擎入口
  • 网站建设公司问候语/友情链接检查工具
  • 中国的网站域名是什么/南京seo外包平台
  • 云空间免费空间/网站seo方法
  • 做自主外贸网站和后台费用多少/aso优化平台
  • 做网站用php还是java/腾讯营销平台
  • C++入门基础(三):const引用、指针和引用的关系、inline(修饰内联函数)替代宏、nullptr代替null
  • [ LeetCode-----盛最多的水]
  • 探索延迟生效变量类:一种灵活的状态管理机制
  • 【python】转移本地安装的python包
  • 深度学习-模型初始化与模型构造
  • [硬件电路-120]:模拟电路 - 信号处理电路 - 在信息系统众多不同的场景,“高速”的含义是不尽相同的。