P1102 A B 數對(二分查詢)

2021-10-09 22:55:21 字數 959 閱讀 7374

題目描述

出題是一件痛苦的事情!

相同的題目看多了也會有審美疲勞,於是我捨棄了大家所熟悉的 a+b problem,改用 a-b 了哈哈!

好吧,題目是這樣的:給出一串數以及乙個數字 c,要求計算出所有 a - b =c 的數對的個數(不同位置的數字一樣的數對算不同的數對)。

輸入格式

輸入共兩行。

第一行,兩個整數 n,c。

第二行,nn 個整數,作為要求處理的那串數。

輸出格式

一行,表示該串數中包含的滿足 a - b = c 的數對的個數。

輸入輸出樣例

輸入

4 1

1 1 2 3

輸出

說明/提示

對於 75% 的資料,20001≤n≤2000。

對於 100% 的資料, 1≤n≤2×105。

保證所有輸入資料都在 32 位帶符號整數範圍內。

思路

運用stl中的二分查詢函式lower_bound和upper_bound。找出第乙個大於等於b+c的位置k和大於b+c的位置p(考慮存在重複情況).判斷找出的點值是否等於a。產生的數對為p - k

#include

using

namespace std;

int a[

200001

],b[

200001];

intmain()

} cout << s;

return0;

}

P1102 A B 數對 二分查詢

出題是一件痛苦的事情!相同的題目看多了也會有審美疲勞,於是我捨棄了大家所熟悉的 a b problem,改用 a b 了哈哈!好吧,題目是這樣的 給出一串數以及乙個數字 c,要求計算出所有 a b c 的數對的個數 不同位置的數字一樣的數對算不同的數對 輸入共兩行。第一行,兩個整數 n,c。第二行,...

P1102 A B 數對(二分)

p1102 a b 數對 出題是一件痛苦的事情!相同的題目看多了也會有審美疲勞,於是我捨棄了大家所熟悉的 a b problem,改用 a b 了哈哈!好吧,題目是這樣的 給出一串數以及乙個數字 c,要求計算出所有 a b c 的數對的個數 不同位置的數字一樣的數對算不同的數對 輸入共兩行。第一行,...

洛谷 二分查詢 P1102 A B數對

題目描述 給出一串數以及乙個數字 c 要求計算出所有 a b c 的數對的個數。不同位置的數字一樣的數對算不同的數對 輸入格式 第一行包括 2 個非負整數 n 和 c 中間用空格隔開。第二行有 n 個整數,中間用空格隔開,作為要求處理的那串數。輸出格式 輸出一行,表示該串數中包含的所有滿足 a b ...