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

滨州网站开发公司电脑网

滨州网站开发公司,电脑网,中小企业网站建设应该注意什么,潍坊网站建设收费标准审题: 本题需要我们找到距离最远的两个孩子之间的距离,并打印 思路: 方法一:暴力枚举 我们可以找到每个孩子的距离其他孩子的最远距离,然后维护一个maxdis变量得到所有孩子距离其他孩子最远距离的最大值。 而距离分为顺…

审题:
本题需要我们找到距离最远的两个孩子之间的距离,并打印

思路:
方法一:暴力枚举

我们可以找到每个孩子的距离其他孩子的最远距离,然后维护一个maxdis变量得到所有孩子距离其他孩子最远距离的最大值。

而距离分为顺时针距离和逆时针距离。

我们假设k为顺时针的距离和,当加了最新的距离后:k >= sum/2,说明顺时针的最远距离在没加最新距离的位置,逆时针最远距离在加了最新距离的位置。

如图:

这里就是假设我们的k加完a[3]后,他的值大于sum/2,也就是说现在k的值大于逆时针的距离,所以逆时针距离的计算就是sum-k,顺时针的距离计算就是k-a[3]。

但是这样就需要用双层for循环遍历,时间复杂度为O(n^2),而每次遍历的次数最大为1e5,所以总共运行次数为1e10,会超时。

方法二:滑动窗口(双指针)

由于我们的解法需要找到k>=sum/2的情况才会进行下一个小朋友的计算,而为了保证k>=sum/2,我们的left在++的时候,k减少了,于是right只能++或者保持不动,其实是不用回退的

于是我们的两个指针都不用回退,满足滑动窗口的使用场景

解题:
方法二:滑动窗口

#include<iostream>
#include<algorithm>
using namespace std;
const int N = 1e5 + 10;
typedef long long ll;
int n;
int a[N];
int k;//有效区间总和
int sum;//总和
ll maxdis;//最远距离
int main()
{//录入数据cin >> n;for(int i = 1; i <= n; i++){cin >>a[i];sum += a[i];}//双指针搜索int left = 1;for(ll right = 1; right <= n; right++){k += a[right];while(2*k >= sum){//更新right一侧maxdis = max(maxdis,(ll)sum-k);k -= a[left];left++;  }//更新left一侧maxdis = max(maxdis,(ll)k);}cout << maxdis << endl;return 0;
}

注意:

1.当2*k<sum的时候,我们和right索引同学的距离就是顺时针方向的距离。

当2*k>=sum的时候,我们的距离就变成顺时针的距离了

也就是说在达成2*k>=sum之前,我们一直维护的是顺时针最远距离,在那之后比较逆时针最远距离,这样子就把和left索引同学的最远left距离和right距离都做了和maxdis的比较

丢手绢


文章转载自:

http://6dQDfMDJ.fjntg.cn
http://IjASg5H8.fjntg.cn
http://xrshR475.fjntg.cn
http://U5FOMCtA.fjntg.cn
http://01C2u88v.fjntg.cn
http://U5pbiqXl.fjntg.cn
http://7M6gnet7.fjntg.cn
http://gOfkz2GK.fjntg.cn
http://NUB1OCDz.fjntg.cn
http://rNl3X4AE.fjntg.cn
http://X4LIPuqS.fjntg.cn
http://F1vR00CY.fjntg.cn
http://DDxAoeHy.fjntg.cn
http://vDCw9aIh.fjntg.cn
http://mZ6czoTm.fjntg.cn
http://jbKGThO1.fjntg.cn
http://7xfmCTl1.fjntg.cn
http://KT4gLu8E.fjntg.cn
http://rm3kdJbQ.fjntg.cn
http://PQ1StCUN.fjntg.cn
http://8iIVZrho.fjntg.cn
http://CIwwU8lm.fjntg.cn
http://2q9pG4aE.fjntg.cn
http://kG0npva9.fjntg.cn
http://PWJCdXeH.fjntg.cn
http://iCeNkxsH.fjntg.cn
http://H9AfGQ4M.fjntg.cn
http://vmAN7GPb.fjntg.cn
http://40uIVPnR.fjntg.cn
http://IIy61jwB.fjntg.cn
http://www.dtcms.com/wzjs/648594.html

相关文章:

  • 纯flash网站欣赏影楼手机网站设计
  • 小米的网站设计惠州seo顾问
  • 攻击网站步骤俄文网站制作
  • 高仿id97网站模板温州seo招聘
  • 网站建设产品分割室内设计自学网站
  • 有没有专门做帽子的网站flash网站带后台
  • 为什么做不了自己的网站网站开发最严重的问题
  • 网站建设的流程简答题招远网站建设价格
  • 网站服务器租赁哪家好江苏元鼎建设工程有限公司网站
  • 网站建设邮如何使用家里电脑做网站服务器
  • 做网站要学什么杭州有名的纯设计公司
  • 深圳设计网站公司哪家好wordpress slug translate
  • 宁波网站推广找哪家公司怎么才能百度做网站
  • asp网站数据库连接软件开发学什么专业好
  • 网站备案流程阿里云微信公众号微信公众平台
  • win2008sr怎么用iis做网站大宗交易平台有哪些
  • 网站开发和桌面开发哪个难网站主题模板制作
  • 专做热血电影的网站wordpress多域名不稳定
  • 做一个flash网站多少钱wordpress询盘功能
  • 海珠网站建设哪家好东莞常平镇地图全图
  • 网站开发建设技术规范书全屏网站设计技巧
  • 烟台个人网站建设凡客网登录
  • 完成网站群建设学校网站建设设想
  • 中国建设规划采购网站wordpress添加视频插件
  • 网络公司网站开发案例外国网站快速申请qq
  • 湖北网站建设路公司彩页设计制作
  • 网站建设的用户名和密码代码南昌seo站外优化
  • 网站服务器备案查询网站做网站页面遇到的问题
  • 站长音效早期网页游戏
  • 自学建立网站常见cms网站源码下载