uva 1152 和为0的4个值
来源:互联网 发布:mysql 登录错误次数 编辑:程序博客网 时间:2024/06/06 10:54
这题留以记录学习。
#include <iostream>#include <algorithm>#include <cstdio>#define INF 4005*4005using namespace std;int st[INF];int main(){ int a[4005],b[4005],c[4005],d[4005]; int t,n,k=0,l; cin >> t; while(t--) { cin >> n;l=0; for(int i=0;i<n;i++) scanf("%d%d%d%d",&a[i],&b[i],&c[i],&d[i]); for(int i=0;i<n;i++) for(int j=0;j<n;j++) st[l++]=a[i]+b[j]; sort(st,st+l); int sum=0; for(int i=0;i<n;i++) for(int j=0;j<n;j++) sum+=upper_bound(st,st+l,-c[i]-d[j])-lower_bound(st,st+l,-c[i]-d[j]); if(k==0) cout << sum << endl; else cout << endl << sum << endl; k++; } return 0;}
学到了
sum+=upper_bound(st,st+l,-c[i]-d[j])-lower_bound(st,st+l,-c[i]-d[j]);
利用upper lower 确定这个数的存在与否且存在几个
0 0
- uva 1152 和为0的4个值
- 和为0的4个值(4 Values Whose sum is Zero UVa 1152)
- 例题 8-2 和为0的4个值 UVa 1152
- Uva 1152 和为0的4个值 hash/二分
- 《算法竞赛》第二版 237页 uva 1152 和为0的4个值
- uva 1152 和为0的4个值(中途相遇法)
- 中途相遇法,哈希技术(和为0的4个值,uva 1152)
- 例题 8-3 UVA - 1152 4 Values whose Sum is 0(和为0的4个值)(二分枚举)
- 例题8-3 和为0的4个值(4 Values Whose Sum is Zero, ACM/ICPC SWERC 2005, UVa 1152)
- [UVa 1152] 和为0的四个值(4 Values whose Sum is 0)
- UVA1152:4 Values whose Sum is 0(和为0的4个值)
- 例题8-3 和为0的4个值 UVa1152
- 例题8-3:和为0的4个值(中途相遇法)
- 4Sum 4个数字的和为目标数
- 和为定值的两个(多个)数
- n个骰子的和为S
- 若干个不同的自然和为定值,这些自然数乘积最大为多少?
- 设置notepad++ 的 tab 设为4个空格和设置为中文语言
- Linux的常用快捷键(上部分)
- qqimg
- Bootstrap 导航元素
- 带新手走进神秘的HTTP协议
- 特征提取
- uva 1152 和为0的4个值
- Hibernate criterion 方法总结
- python3使用reload函数
- 经典多线程面试题
- Light User Data
- 矩阵快速幂 经典模板
- LintCode 18 带重复元素的子集
- 线性代数笔记(1):向量空间与子空间
- jq中的map函数