poj2785(4 Values whose Sum is 0)
2016-08-01 17:12
435 查看
Language: Default 4 Values whose Sum is 0
The SUM problem can be formulated as follows: given four lists A, B, C, D of integer values, compute how many quadruplet (a, b, c, d ) ∈ A x B x C x D are such that a + b + c + d = 0 . In the following, we assume that all lists have the same size n . Input The first line of the input file contains the size of the lists n (this value can be as large as 4000). We then have n lines containing four integer values (with absolute value as large as 228 ) that belong respectively to A, B, C and D . Output For each input file, your program has to write the number quadruplets whose sum is zero. Sample Input 6 -45 22 42 -16 -41 -27 56 30 -36 53 -37 77 -36 30 -75 -46 26 -38 -10 62 -32 -54 -6 45 Sample Output 5 Hint Sample Explanation: Indeed, the sum of the five following quadruplets is zero: (-45, -27, 42, 30), (26, 30, -10, -46), (-32, 22, 56, -46),(-32, 30, -75, 77), (-32, -54, 56, 30). Source Southwestern Europe 2005 题目意思很简单明了,就是从四个数列中各取一个数,使四个数的和为0,求共有多少种方法? 可以直接的四个for循环,但是显然很不高效。把它们分成AB和CD再考虑,就可以快速求解。大致思路是把C、D中的数字枚举出来,排好序,为了使总和为0则需要从C、D中取出c+d=-a-b,可以用二分查找,时间复杂度为O(n^2logn)。 AC代码: #include<iostream> |
相关文章推荐
- poj2785 4 Values whose Sum is 0 双向搜索
- Poj2785 (4 Values whose Sum is 0)
- poj2785 4 Values whose Sum is 0
- POJ2785 4 Values whose Sum is 0(二分的力量)
- POJ2785_4 Values whose Sum is 0_哈希||二分
- POJ2785-4 Values whose Sum is 0
- POJ2785 4 Values whose Sum is 0(暴力二分查找)
- POJ2785-4 Values whose Sum is 0
- POJ2785-4 Values whose Sum is 0
- POJ2785 4 Values whose Sum is 0
- POJ2785 4 Values whose Sum is 0(二分的力量)
- POJ2785 4 Values whose Sum is 0 【枚举】
- POJ2785 4 Values whose Sum is 0
- POJ2785 4 Values whose Sum is 0(哈希)
- POJ2785 4 Values whose Sum is 0(折半枚举+二分)
- POJ2785 -- 4 Values whose Sum is 0(折半枚举)
- poj2785--4 Values whose Sum is 0 15秒的时间
- POJ2785_Values whose Sum is 0_二分
- poj2785 4 Values whose Sum is 0
- POJ2785:4 Values whose Sum is 0(二分)