藍橋杯 遞增三元組

2021-10-03 07:33:39 字數 1082 閱讀 5365

題目鏈結

直接暴力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

log⁡n)

o(n \log n)

o(nlogn)

,查詢o(n

log⁡n)

o(n \log n)

o(nlogn)

,總體o(n

log⁡n)

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,...