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

做外贸什么网站比较好做抚顺seo

做外贸什么网站比较好做,抚顺seo,廊坊网站建设推广经验,网站开发安全管理目录 ruby和薯条_排序二分/滑动窗口 题目解析 C代码 Java代码 ruby和薯条_排序二分/滑动窗口 ruby和薯条 描述: ruby很喜欢吃薯条。 有一天,她拿出了n根薯条。第i根薯条的长度为ai。 ruby认为,若两根薯条的长度之差在l和r之间&#xff…

目录

ruby和薯条_排序+二分/滑动窗口

题目解析

C++代码

Java代码


ruby和薯条_排序+二分/滑动窗口

ruby和薯条

描述:

ruby很喜欢吃薯条。
有一天,她拿出了n根薯条。第i根薯条的长度为ai。
ruby认为,若两根薯条的长度之差在l和r之间,则认为这两根薯条有“最萌身高差”。
用数学语言描述,即若l≤|ai-aj|≤r,则第i根薯条和第j根薯条有“最萌身高差”。
ruby想知道,这n根薯条中,存在多少对薯条有“最萌身高差”?
注:次序不影响统计,即认为(ai,aj)和(aj,ai)为同一对。

输入描述:

第一行三个正整数n,l,r,含义见题目描述。 (1≤n≤200000,1≤l≤r≤1e9)
第二行n个正整数ai,分别代表每根薯条的长度。 (1≤ai≤1e9)

输出描述:

一个正整数,代表,代表“最萌身高差”的薯条对数。


题目解析

  • 库函数排序+二分

C++代码

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;int main()
{int n = 0, l = 0, r = 0;cin >> n >> l >> r;vector<int> a(n);for(int i = 0; i < n; ++i){cin >> a[i];    }sort(a.begin(), a.end());long long res = 0;for(int i = 0; i < n; ++i) // 二分{int left = -1, right = -1;auto it1 = lower_bound(a.begin(), a.end(), a[i] + l); // 找第一个大于等于a[i] + l的left = it1 - a.begin();auto it2 = upper_bound(a.begin(), a.end(), a[i] + r); // 找第一个大于a[i] + r的right = it2 - a.begin() - 1;if(left != -1 && right != -1 && right >= left)res += right - left + 1;}cout << res << endl;//     int begin = 0, end = 1, res = 0, flag = 0; // 用的滑动窗口,没想到加前缀和,所以错了
//     while(begin < end && end < n)
//     {
//         //cout << begin << " " << end << " res " << a[end] - a[begin] << endl;
//         while(end < n)
//         {
//             //cout << begin << " and " << end << " res " << a[end] << " "<< a[begin] << endl;
//             if(a[end] - a[begin] >= l && a[end] - a[begin] <= r)
//             {
//                 ++res;
//                 if(a[end] - a[begin] == r)
//                     break;
//             }
//             ++end;
//         }
//         ++begin;
// //         end = flag;
//         end = begin + 1;
//     }return 0;
}

Java代码

import java.util.*;
public class Main
{public static int n, l, r;public static int[] arr;public static void main(String[] args){Scanner in = new Scanner(System.in);n = in.nextInt(); l = in.nextInt(); r = in.nextInt();arr = new int[n];for(int i = 0; i < n; i++) arr[i] = in.nextInt();Arrays.sort(arr);long ret = 0;for(int i = 1; i < n; i++){int L, R;// 找左端点int left = 0, right = i - 1;while(left < right){int mid = (left + right) / 2;if(arr[mid] >= arr[i] - r) right = mid;else left = mid + 1;}if(arr[left] >= arr[i] - r) L = left;else L = left + 1;// 找右端点left = 0; right = i - 1;while(left < right){int mid = (left + right + 1) / 2;if(arr[mid] <= arr[i] - l) left = mid;else right = mid - 1;}if(arr[left] <= arr[i] - l) R = left;else R = left - 1;if(R >= L) ret += R - L + 1;}System.out.println(ret);}
}
http://www.dtcms.com/wzjs/169488.html

相关文章:

  • 网页布局照着别的网站做会侵权吗线上怎么做推广和宣传
  • 网站源文件修改百度登录个人中心
  • 南京做征信服务的公司网站百度 站长工具
  • 深圳市seo网站设计百度网站首页提交入口
  • 动态网站静态化杭州seo营销公司
  • seo推广内容seo网站自动推广
  • go语做网站域名查询站长之家
  • 网站建设贰金手指下拉壹玖厦门人才网唯一官网登录
  • 高端网站开发公开课百度客服系统
  • javaweb是用java做网站吗哈尔滨百度网站快速优化
  • 教育门户网站建设百度推广优化师培训
  • wordpress如何设置邮箱seo问答
  • 网站建设方案报价网站免费软件
  • 局网站建设工作google收录查询
  • 做网站是靠什么赚钱网站的优化
  • 网站 http 状态码返回值301解决微博推广费用
  • 网站建设呼和浩特百度云网盘资源
  • 上海成品网站seo黑帽有哪些技术
  • 机械网站模板关键词抓取工具都有哪些
  • 浙江做网站的公司有哪些微商软文范例
  • 例举一个"目录索引类搜索引擎"网站并将这个网站的url写在下方.百度一下首页官网百度
  • 自己有网站 做app吗最新病毒感染什么症状
  • 如何建设小说网站并且盈利百度快速排名
  • excel做注册网站谷歌浏览器下载手机版最新版
  • python自学网站免费菜鸟教程百度引擎搜索网址
  • 东莞营销型网站建设网络整合营销是什么意思
  • 网站主机一个g网络营销前景和现状分析
  • 怎么看一个网站用什么程序做的seo关键词优化排名哪家好
  • 建站设计网站专业软文代写
  • 南阳哪有做网站公司seo搜索引擎优化费用