牛客練習賽16 F 選值 二分 計數

2022-03-22 19:06:44 字數 863 閱讀 7630

題目描述

給定n個數,從中選出三個數,使得最大的那個減最小的那個的值小於等於d,問有多少種選法。

輸入描述:

第一行兩個整數n,d(1 <= n <= 100,000,1 <= d <= 1000,000,000);

第二行n個整數滿足abs(ai) <= 1,000,000,000。資料保證a單調遞增。

輸出描述:

輸出乙個整數表示滿足條件的選法。

示例1輸入

4 31 2 3 4輸出4

示例2輸入

4 2-3 -2 -1 0輸出2

示例3輸入

5 19

1 10 20 30 50輸出1

【分析】:

對於a[i], a[i]必取,有多少種情況,令c = a[i] + d, 找到j,a[j] > c && a[j - 1] <= c, 這樣(i, j)就為可選區間,注意是選取兩個,記得用組合數的公式。

【出處】:

codeforces 251a. points on

【類似】:hdu 5101 select

【**】:

#includeusing namespace std;

#define ll long long

int a[100005];

int main()

printf("%lld\n",ans);

return 0;}/*

using namespace std;

int n,d,a[100010];

int main()

printf("%lld\n",ans);

return 0;

}*/

牛客練習賽6 A 二分

有n只猴子,第i只猴子每過xi小時會連續吃香蕉yi小時。猴子從第二次開始每次休息結束後這只猴子連續吃香蕉的時間會增加zi小時。給定n只猴子,每乙隻的x i,yi,z i,以及時間t,求在前t小時中,所有猴子共吃了多少小時。對於乙隻猴子來說是這樣的 從第1小時開始 休息xi小時 1 x i 吃yi小時...

牛客練習賽63 牛牛的揠苗助長 二分)

題目傳送門 牛牛有一塊長度大小為n的菜園,他首先對這塊菜園從1到n進行了編號,每一塊地分別為1號 2號 n號菜地,然後他往每塊菜地中都種下了一些水稻,一開始,第i塊菜地中的水稻高度均為a i 個單位。然後我們知道水稻的生長週期都是n天,也就是說每逢n天水稻就會長高乙個單位。但是不巧的是整個菜園中每一...

牛客練習賽51 E 數列 思維,二分

傳送門 開始頭髮昏,拼了命的去構造 發現需要特判的情況實在是多,搞不來.但是,答案是具有單調性的 最後序列一定是一段一段以1 11開頭的小序列組成 設有x xx段小序列,那麼此時的滿意度是n x n xn x 那麼二分x xx不久行了?轉化為分成x xx個遞增小序列,是否能不大於mmm 顯然是均分最...