二分 四個數和為0 標記

2021-10-13 23:53:01 字數 608 閱讀 4796

如果每個數可以選不止一次那太簡單了,但是如果只能選一次呢,就很麻煩,就必須儲存每乙個sum來自哪兩個位置的數,找到和為0的兩個sum還要判斷是否來自四個不同的點,要把所有相等的sum都判斷一次,可以使用lower_bound到upper_bound確定範圍。

struct ea[maxn * maxn]

;int t[maxn]

;bool

cmp(

const e &a,

const e &b)

intmain()

} n = p;

sort

(a, a + n, cmp)

;for

(int i =

0; i < n;

++i)

, cmp)

- a, rlim =

upper_bound

(a, a + n, e

, cmp)

- a;

for(

int j = llim; j < rlim;

++j)}}

puts

("no");

return0;

}

四個數和為0(二分

題目 給出n個整數,你來判斷一下是否能夠選出4個數,他們的和為0,可以則輸出 yes 否則輸出 no input 第1行,1個數n,n為陣列的長度 4 n 1000 第2 n 1行 ai 10 9 ai 10 9 output 如果可以選出4個數,使得他們的和為0,則輸出 yes 否則輸出 no s...

二分(四個數和為零)

1267 4個數和為0 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 收藏關注給出n個整數,你來判斷一下是否能夠選出4個數,他們的和為0,可以則輸出 yes 否則輸出 no input 第1行,1個數n,n為陣列的長度 4 n 1000 第2 n 1行 a i ...

4個數和為0(二分)

給出n個整數,你來判斷一下是否能夠選出4個數,他們的和為0,可以則輸出 yes 否則輸出 no input 第1行,1個數n,n為陣列的長度 4 n 1000 第2 n 1行 aii 10 9 aii 10 9 output 如果可以選出4個數,使得他們的和為0,則輸出 yes 否則輸出 no sa...