題目鏈結
直接暴力o(n
3)
o(n^3)
o(n3
),顯然超時。
將三個陣列排序,遍歷b
bb陣列,二分找到a
aa中小於b[i
]b[i]
b[i]
的個數a
aa,找到c
cc中大於b[i
]b[i]
b[i]
的個數c
cc,ans
ansan
s+=a∗c
a*ca∗
c。時間複雜度,排序o(n
logn)
o(n \log n)
o(nlogn)
,查詢o(n
logn)
o(n \log n)
o(nlogn)
,總體o(n
logn)
o(n \log n)
o(nlogn)
。自己寫二分
#include
#include
#include
#include
using
namespace std;
typedef
long
long ll;
const
int n =
100010
;int n;
int a[n]
, b[n]
, c[n]
;ll ans;
intmain()
if(a[l]
< b[i]
) a = l +1;
l =0, r = n -1;
while
(l < r)
if(c[l]
> b[i]
) c = n - l;
ans +
=(ll)a * c;
}
cout << ans << endl;
return0;
}
lower_bound(), upper_bound(); 藍橋杯 遞增三元組
給定三個整數陣列 a a1,a2,an b b1,b2,bn c c1,c2,cn 請你統計有多少個三元組 i,j,k 滿足 1.1 i,j,k n 2.ai bj 輸入格式 第一行包含乙個整數n。第二行包含n個整數a1,a2,an。第三行包含n個整數b1,b2,bn。第四行包含n個整數c1,c2,...
藍橋杯題 遞增三元組
給定三個整數陣列 a a1,a2,an b b1,b2,bn c c1,c2,cn 請你統計有多少個三元組 i,j,k 滿足 1.1 i,j,k n 2.ai bj ck 輸入格式 第一行包含乙個整數n。第二行包含n個整數a1,a2,an。第三行包含n個整數b1,b2,bn。第四行包含n個整數c1,...
遞增三元組
遞增三元組 描述給定三個整數陣列a a1,a2,an b b1,b2,bn c c1,c2,cn 請你統計有多少個三元組 i,j,k 滿足 1 i,j,k n ai bj ck 輸入第一行包含乙個整數n。第二行包含n個整數a1,a2,an。第三行包含n個整數b1,b2,bn。第四行包含n個整數c1,...