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

www.网站建设/贴吧友情链接在哪

www.网站建设,贴吧友情链接在哪,做个自己的影院网站怎么做,WordPress提高打开速度题意翻译 给定一个非负整数序列A,每次操作可以选择一个数然后减掉1,要求进行不超过m次操作使得存在一个Ak0且max⁡(∣xi−xi−1∣)最小,输出这个最小值以及此时最小的k (1≤n≤1 000 000,1≤m≤10^18) 题解: 最大值最小…

题意翻译

给定一个非负整数序列A,每次操作可以选择一个数然后减掉1,要求进行不超过m次操作使得存在一个Ak=0max⁡(∣xi−xi−1∣)最小,输出这个最小值以及此时最小的k

(1≤n≤1 000 0001m10^18)

题解:

最大值最小,还要输出,那就直接二分咯。

由于每次都只能减,所以,

每次二分的内部,可以先把max(|xi-xi-1|)调出来。

从左到右扫一遍,a[i]>a[i-1]+mid 那么a[i]=a[i-1]+mid tot+=a[i]-(a[i-1]+mid)

从右到左扫一遍,a[i-1]>a[i]+mid 同理。

注意循环顺序。因为不能先砍最高的。可能之后更低的会更低。

这样最少的次数保证了max(..)<=mid

然后改枚举最低点的k了。

如果不存在一个点为0

那么,这个点为k的话,两边一定是一个倒阶梯。

回文阶梯形状双等差数列

这个阶梯的L,R有单调性。(L即为i左边第一个可以不用删的位置。R为i右边第一个可以不用删的位置。)

可以直接移动。

具体一些,如果L+1位置比所需的小,那么可以右移L,

如果R不行,那么右移R,直到比所需的位置小。其实同理。

 

 

 

注意,正反循环顺序保证正确性。

双指针移动判定条件及边界。

等差数组求和别写错...

 

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1000000+5;
int n;
ll m;
ll a[N],b[N],c[N];
ll ans,pos;
int lp;//min a[k]'s k
bool che(ll mid){memcpy(b,a,sizeof a);ll tot=0;lp=0;for(int i=n-1;i;i--){if(b[i]-b[i+1]>mid) tot+=b[i]-(b[i+1]+mid),b[i]=b[i+1]+mid; }for(int i=2;i<=n;i++){if(b[i]-b[i-1]>mid) tot+=b[i]-(b[i-1]+mid),b[i]=b[i-1]+mid;}if(tot>m) return false;ll L=1,R=1;ll sum=0;ll len=0,nd=0;for(int i=1;i<=n;i++){while(R<n&&b[R]>=(R-i)*mid) sum+=b[R],R++;while(L<i&&b[L]<=(i-L)*mid) sum-=b[L],L++;len=R-i-1;nd=(len+1)*len/2*mid;len=i-L;nd+=(len+1)*len/2*mid;if(sum-nd+tot<=m){lp=i;return true;}}return false;
}
int main()
{scanf("%d%lld",&n,&m);ll l=0,r=0;for(int i=1;i<=n;i++){scanf("%lld",&a[i]);r=max(r,a[i]);}while(l<=r){ll mid=(l+r)>>1;if(che(mid)) ans=mid,pos=lp,r=mid-1;else l=mid+1;}printf("%lld %lld",pos,ans);return 0;
}

 

转载于:https://www.cnblogs.com/Miracevin/p/9676637.html

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

相关文章:

  • 开发门户网站需要注意什么/网络营销推广方式都有哪些
  • 网络推广是干嘛的可以做吗/中国seo排行榜
  • 留白的网站/淘宝指数转换工具
  • 大连网站设计哪个最好/官方网站怎么查询
  • 乌克兰集团网站建设/网站关键词优化方案
  • 深圳市光明建设发展集团网站/百度sem
  • 做软装什么网站可以/站长工具如何使用
  • 全站搜索/it培训机构排行榜
  • 做网站云服务期/如何做网销
  • 自己怎么弄网站/5000人朋友圈推广多少钱
  • 网站备案成功后可以改吗/磁力猫搜索引擎入口官网
  • 自媒体自助下单网站怎么做/2023年新闻小学生摘抄
  • 东莞网站制作网站设计/百度开户代理商
  • 微信做自己的网站/掌门一对一辅导官网
  • wordpress 角色管理/电影站的seo
  • 手机外贸网站建设/网站免费制作
  • 免费建设一个可以访问的网站/百度网址大全旧版本
  • 国外做文化的网站/优化提升
  • 用安卓手机做网站主机/个人如何做网络推广
  • 网站定位/云优化seo软件
  • 网站建设成功案例宣传/网店网络推广方案
  • 新加坡最近疫情/谷歌seo网站建设
  • 郑州建站费用/seo工程师
  • php在网站后台建设中的优势/做个网页价格多少
  • 网站居中css代码/销售方案怎么做
  • 无为住建设局网站/企业网站推广注意事项
  • wordpress如何关闭评论功能/合肥seo网络优化公司
  • 济南网站建设公司哪个好点呢/可以推广发广告的app
  • 河南省建设协会网站/公司网络推广方案
  • 外卖网站设计/百度站长平台链接提交
  • 基于SpringBoot的OA办公系统的设计与实现
  • android内存作假通杀补丁(4GB作假8GB)
  • 超急评估:用提前计算分摊性能成本
  • 关于车位引导及汽车乘梯解决方案的专业性、系统性、可落地性强的综合设计方案与技术实现说明,旨在为现代智慧停车楼提供高效、安全、智能的停车体验。
  • 【python实用小脚本-169】『Python』所见即所得 Markdown 编辑器:写完即出网页预览——告别“写完→保存→刷新”三连
  • 电脑声音标志显示红叉的原因