B題https://ac.nowcoder.com/acm/contest/11177/B提供一個我覺得比較清晰的思路,只需要預處理出x兩邊有多少個數比它小,最后遍歷一遍二分查詢就行了。 直接拿樣例舉例:5 3 21 2 3 4 5d[3]=x。我們可以預處理出:l[]={2,1,0,0,0};表示下標i到下標3有多少個數比d[3]小。r數組同理不難發(fā)現兩個數組單調。最后只需要二分統(tǒng)計答案,對于l[i]=a的位置,有r[]中有多少數等于k-1-a。 代碼 #include <bits/stdc++.h> using namespace std; #define fir(i, a...