poj2785 4 Values whose Sum is 0
来源:互联网 发布:手机保密软件 编辑:程序博客网 时间:2024/05/21 17:30
原题链接:poj2785 4 Values whose Sum is 0
题意:给出元素都为n的4个数组A,B,C,D,要从每个数组中各取一个数,求这四个数和为0的次数,一个数列有多个相同数字时,当作不同数字看待
//思路先枚举C,D的和排序,再枚举A,B的和在C,D和中进行折半查找C+D=-(A+B)的部分 #include <cstdio>#include <algorithm>using namespace std;const int MAX_N = 4000 + 5;//输入 int n;int A[MAX_N], B[MAX_N], C[MAX_N], D[MAX_N];int CD[MAX_N * MAX_N]; //存C、D中的所有和 int main(){int n, i, j;scanf("%d", &n);for(i = 0;i < n;i ++)scanf("%d%d%d%d", &A[i], &B[i], &C[i], &D[i]); for(i = 0;i < n;i ++){//枚举C、D的和存入CD中 for(j = 0;j < n;j ++)CD[i * n + j] = C[i] + D[j];}sort(CD, CD + n * n);//对和排序 long long res = 0;for(i = 0;i < n;i ++){for(j = 0;j < n;j ++){int cd = -(A[i] + B[j]);//取出C和D中和为cd的部分(CD中>cd的第一个位置与>=cd的第一个位置相减) res += upper_bound(CD, CD + n * n, cd) - lower_bound(CD, CD + n * n, cd);}}printf("%lld\n", res);return 0;}
0 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-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(二分的力量)
- redis配置认证密码
- NYOJ
- SimpleDateFormat日期格式转换
- C#控制条码打印机 纸张大小,间距,绘制内容(所有条码打印机通用)
- 一篇文章帮你彻底了解 Swift 3.1 的新内容
- poj2785 4 Values whose Sum is 0
- 一起做RGB-D SLAM (1)
- 怎么在qt中调用vs中生成的dll
- 微信企业号/企业微信:获取AccessToken
- Java 并发工具包 java.util.concurrent 用户指南
- Android 消息机制深入(一)
- Lectrure 13 Amortized Analysis
- Sublime Text2.0.2注册码
- 微信小程序开发手记之一:项目的代码结构