題目描述
出題是一件痛苦的事情!
相同的題目看多了也會有審美疲勞,於是我捨棄了大家所熟悉的 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 ...