POJ 2785 A Values whose Sum is 0 ( 拆合+排序+二分 )
2014-10-22 18:13
429 查看
有 4 个 N 个元素的数组,每个数组各取一个数字,使得加起来和为 0 的方法个数。
#include <iostream> #include <fstream> #include <algorithm> using namespace std; #define MAXN 4010 int A[MAXN]; int B[MAXN]; int C[MAXN]; int D[MAXN]; int CD[MAXN * MAXN]; int main(){ int n; long long res = 0; cin >> n; for( int i = 0; i < n; ++i ){ cin >> A[i] >> B[i] >> C[i] >> D[i]; } for( int i = 0; i < n; ++i ){ for( int j = 0; j < n; ++j ){ CD[i * n + j] = C[i] + D[j]; } } sort( CD, CD + n * n ); for( int i = 0; i < n; ++i ){ for( int j = 0; j < n; ++j ){ int cd = - ( A[i] + B[j] ); res += upper_bound( CD, CD + n * n, cd ) - lower_bound( CD, CD + n * n, cd ); } } cout << res << endl; return 0; }
相关文章推荐
- POJ 2785 4 Values whose Sum is 0(双向搜索+二分)
- poj 2785 4 Values whose Sum is 0 (二分+sort)
- POJ 2785 4 Values whose Sum is 0 二分
- poj 2785 4 Values Whose Sum is 0 --- 二分
- 【折半枚举 && 二分】POJ - 2785 4 Values whose Sum is 0
- POJ 2785 4 Values whose Sum is 0 (对半分解 二分搜索)
- POJ 2785 4 Values whose Sum is 0 <二分>
- poj 2785 4 Values whose Sum is 0 (简单二分)
- poj 2785 4 Values whose Sum is 0 (二分+枚举)
- POJ 2785 4 Values whose Sum is 0(二分+折半枚举)
- POJ 2785 4 Values whose Sum is 0 二分
- poj 2785 4 Values whose Sum is 0(二分)
- POJ 2785 4 Values whose Sum is 0(二分)
- 4 Values whose Sum is 0 POJ - 2785 (二分)
- ACM-二分-POJ-2785-4 Values whose Sum is 0
- POJ 2785:4 Values whose Sum is 0 二分
- Poj 2785 4 Values whose Sum is 0【二分】
- CSU-ACM2017暑假集训2-二分搜索 poj-2785-4 Values whose Sum is 0
- POJ - 2785 4 Values whose Sum is 0 —— 二分
- POJ - 2785 : 4 Values whose Sum is 0(二分、STL上下界函数)