## 代码

``````#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
LL T, n;
const int maxn = 4000 + 10;
LL a[maxn], b[maxn], c[maxn], d[maxn];
LL s1[maxn*maxn];
int cnt, ans;
int main()
{
std::ios::sync_with_stdio(false);
//freopen("input.txt", "r", stdin);
//freopen("output.txt", "w", stdout);
cin >> T;
for(LL t = 1; t <= T; t++)
{
cnt = 0, ans = 0;
if(t != 1)
cout << endl;
cin >> n;
for(LL i = 0; i < n; i++)
cin >> a[i] >> b[i] >> c[i] >> d[i];
memset(s1, 0, sizeof(s1));
for(LL i = 0; i < n; i++)
for(LL j = 0; j < n; j++)
{
s1[cnt] = a[i] + b[j];
cnt++;
}
sort(s1, s1 + cnt);
for(LL i = 0; i < n; i++)
{
for(LL j = 0; j < n; j++)
{
ans += upper_bound(s1, s1 + cnt, -(c[i] + d[j])) - lower_bound(s1, s1 + cnt, -(c[i] + d[j]));
}
}
cout << ans << endl;
}

}
``````

## UVA - 1152 --- 4 Values whose Sum is 0(二分)的更多相关文章

1. UVA 1152 4 Values whose Sum is 0 (枚举+中途相遇法)(+Java版)(Java手撕快排+二分)

4 Values whose Sum is 0 题目链接:https://cn.vjudge.net/problem/UVA-1152 ——每天在线,欢迎留言谈论. 题目大意: 给定4个n(1< ...

2. UVa 1152 -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 ...

3. UVA - 1152 4 Values whose Sum is 0（中途相遇法）

题意:从四个集合各选一个数,使和等于0,问有多少种选法. 分析:求出来所有ai + bi,在里面找所有等于ci + di的个数. #pragma comment(linker, "/STAC ...

4. UVa 1152 4 Values whose Sum is 0

题意:给出n,四个集合a,b,c,d每个集合分别有n个数,分别从a,b,c,d中选取一个数相加,问使得a+b+c+d=0的选法有多少种 看的紫书,先试着用hash写了一下, 是用hash[]记录下来a ...

5. UVA - 1152 4 Values whose Sum is 0问题分解，二分查找

题目:点击打开题目链接 思路:暴力循环显然会超时,根据紫书提示,采取问题分解的方法,分成A+B与C+D,然后采取二分查找,复杂度降为O(n2logn) AC代码: #include <bits/ ...

6. POJ - 2785 4 Values whose Sum is 0 二分

4 Values whose Sum is 0 Time Limit: 15000MS   Memory Limit: 228000K Total Submissions: 25615   Accep ...

7. 4 Values whose Sum is 0(二分)

4 Values whose Sum is 0 Time Limit: 15000MS   Memory Limit: 228000K Total Submissions: 21370   Accep ...

8. POJ 2785：4 Values whose Sum is 0 二分

4 Values whose Sum is 0 Time Limit: 15000MS   Memory Limit: 228000K Total Submissions: 18221   Accep ...

9. UVA 1152 4 Values Whose Sum is Zero 和为0的4个值 （中途相遇）

摘要:中途相遇.对比map,快排+二分查找,Hash效率. n是4000的级别,直接O(n^4)肯定超,所以中途相遇法,O(n^2)的时间枚举其中两个的和,O(n^2)的时间枚举其他两个的和的相反数, ...

## 随机推荐

1. vm10.0key

5F4EV-4Z0DP-XZHN9-0L95H-02V17

2. swift语言实战晋级-1 Swift开发环境的搭建

想要进行Swift的学习,必须要有个开发环境.简单的说就是装好了Xcode的Mac系统.那么接下来我们就简单了解一下这方面的内容. 1.1 下载Xcode Xcode是苹果公司出的编程工具,类似于微软 ...

3. [转载]MongoDB 标准连接字符串

4. linux常用命令 awk命令

awk命令 awk [选项] '条件1{动作1} 条件2{动作2}...' 文件名 条件(Pattern) *) 一般使用关系表达式作为条件 *) x>10 判断变量x是否大于10 *) x&g ...

5. linux 安装java环境

1.检查是否安装或者linux系统自带jdK 命令:java -version 查找JDK相关包是否被安装: rpm -qa |grep jdk rpm -qa |grep gcj 删除JDK相关包: ...

6. UVA 12108 Extraordinarily Tired Students

思路: ①用结构体stu,属性有清醒时间,睡眠时间,开始处于的时间,状态(醒着还是睡着), 还有计数器. ②二维数组存表格. ③在确定接下来要进入的状态之后,就一次把表格里持续状态的数据都修改掉,比如 ...

7. hdu5029 Relief grain

题目链接 树剖+线段树 将区间修改转化为单点修改,因为如果按DFS序进行修改,那么一定会对DFS序更大的点造成影响 #include<iostream> #include<vecto ...

8. python-深浅copy-18

# 赋值运算l1 = [1,2,3]l2 = l1l1.append('a')print(l1,l2) # [1, 2, 3, 'a'] [1, 2, 3, 'a'] #copyl1 = [1,2,3 ...

9. ubuntu 安装JDK1.6(jdk-6u45-linux-x64.bin)