poj2785 4 Values whose Sum is 0
原题链接: 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;
}
poj2785 4 Values whose Sum is 0相关推荐
- 【ACM】Uva 1152 (4 Values whose Sum is 0) 二分查找lower_bound() 和upper_bound()的使用
[问题描述] The SUM problem can be formulated as follows: given four lists A, B, C, D of integer values, ...
- 【POJ - 2785】4 Values whose Sum is 0 (二分,折半枚举)
题干: The SUM problem can be formulated as follows: given four lists A, B, C, D of integer values, com ...
- uva1152 - 4 Values whose Sum is 0(hash或STL技巧ac)
题目大意:给定4个n(1 <= n <= 4000)元素集合A, B, C, D,要求分别从中选取一个元素a, b, c, d,使得a+b+c+d = 0,问有多少种选法. method ...
- POJ 2785 4 Values whose Sum is 0
传送门:http://poj.org/problem?id=2785 解题思路: 从这四个数列中选择的话总有n的4次方中情况,所以全部判断一遍不可行.不过将他们对半分成AB和CD再考虑的话就可以解决了 ...
- uva 1152 ——4 Values whose Sum is 0
题意:给定4个n元素集合,要求从每个集合中选择一个数,使得A+B+c+d==0,问存在多少种方法. 思路:枚举+hash判断.直接枚举4次方的算法会超,那么只需要枚举ab,然后在c+d的和中查找等于- ...
- POJ 2785: 4 Values Whose Sum is 0
链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=21897 题意:就是给你4个数组,现在问你有多少种方案,使得在每个数组中 ...
- Python Numpy多维数组.sum(axis=0/1/2...) 详解
Python Numpy多维数组.sum(axis=0/1/2-) 详解 numpy中axis取值的说明 首先对numpy中axis取值进行说明:一维数组时axis=0,二维数组时axis=0,1,维 ...
- mysql sum 为 0 的解决方法
mysql sum 为 0 的解决方法 参考文章: (1)mysql sum 为 0 的解决方法 (2)https://www.cnblogs.com/huanghuanghui/p/9338037. ...
- torch.sum(),dim=0,dim=1解析
直接上代码: # 定义一个2维张量a a = torch.tensor([[1,2,3],[4,5,6]]) print(a) a.shape output: tensor([[ 1, 2, 3],[ ...
最新文章
- 利用蒙特卡罗法,国外老哥成功制造出 100% 投篮命中的篮板!
- Laravel-自定全局函数
- Ubutu16.04+Cuda9.2/9.0+Cudnn7.12/7.05+TensorFlow-gpu-1.8/1.6
- Android 11 修改libcore update-api 遇到的问题
- 什么样的前端框架才是一个好框架
- 实现一个Ajax模式的文件上传功能有多难?
- lucene Collector 文档收集器
- Python进阶(一)Python中的内置函数、内置方法、私有属性和方法详解
- 11款中兴盒子固件合集分享(已列出全部型号,附刷机教程)
- Windows7系统的70个小技巧
- iconfont图标引入
- 安捷伦的仪器设备出售
- 【学习笔记】Servlet容器(Web容器)简介
- EGM2008-地球重力场
- vue视频播放组件vue-mini-player
- 初生牛犊:Windows下Anti-sandboxes技术探究
- 软件测试工程师面试一般常见问题汇总
- 1亿妹纸大姨妈的神器美柚:上云要切合业务需求,更要货比三家
- abaqus子程序开发学习笔记
- bootstrap响应式布局之阿里百秀
热门文章
- Springcloud服务降级 Error creating bean with name ‘deptConsumerController‘: Unsatisfied dependency expre
- 数据结构与算法题目集PTA
- B站高倍速播放的方法!
- 随机产生一个1-100之间的整数,看能几次猜中
- docker学习之Ubuntu系统部署docker
- GET方式请求参数中文乱码问题 [JavaWeb][Servlet]
- 快手普通主播怎么变现赚钱,掌握以下几点即可丨国仁网络资讯
- python图像识别分类_图像分类python
- 用html制作一个华为页面,Web前端项目实战——华为荣耀商城(学完html+css就可以做)...
- c语言open 函数,实例讲解C语言OPEN函数语法及其应用