UVA 1152 数组和
2016-10-23 08:51
357 查看
一个有趣的题目,时间要求是9s,数据特别大,只有 O(n2logn) 才能过
Accepted
C++11
2.680
2016-10-23 00:46:48
题目:https://uva.onlinejudge.org/external/11/1152.pdf
这题有一个核心思想,是使用二分上界查询-二分下界查询得到个数
Accepted
C++11
2.680
2016-10-23 00:46:48
题目:https://uva.onlinejudge.org/external/11/1152.pdf
这题有一个核心思想,是使用二分上界查询-二分下界查询得到个数
#include <cstdio> #include <iostream> #include <algorithm> using namespace std; int main(){ int CASE,n,a[4005],b[4005],c[4005],d[4005]; scanf("%d",&CASE); while (CASE--) { scanf("%d",&n); for(int i=0;i<n;i++) scanf("%d%d%d%d",&a[i],&b[i],&c[i],&d[i]); int sum=0; int middleSum[20000000]; int t=0; for(int i=0;i<n;i++) for(int j=0;j<n;j++) middleSum[t++]=a[i]+b[j]; sort(middleSum, middleSum+t); for(int i=0;i<n;i++) for(int j=0;j<n;j++) sum+=upper_bound(middleSum, middleSum+t,-c[i]-d[j])-lower_bound(middleSum, middleSum+t, -c[i]-d[j]); printf("%d\n",sum); if(CASE) printf("\n"); } return 0; }
相关文章推荐
- UVA 1152 4 Values whose Sum is 0 (hash)
- uva 10869 - Brownie Points II(树状数组)
- UVA 11732 "strcmp()" Anyone? 字典树(数组实现)
- [UVa 1152] 和为0的四个值(4 Values whose Sum is 0)
- 【思维-桶记录数组动态滚动】Encrypted Password UVALive - 6320
- UVa 11610 Reverse Prime(树状数组+二分)
- ***uva 348 最优数组乘法序列(记忆化搜索+输出路径)
- UVa 11998 Broken Keyboard (数组模拟链表问题)
- UVA 11525 Permutation(树状数组)
- Uva 1428 Ping pong (树状数组,Fenwick树)
- UVA 10869 - Brownie Points II(树状数组)
- UVa 1584 Circular Sequence 【数组和字符串】
- UVA - 11988 Broken Keyboard(用数组实现链表)
- UVa 340 Master-Mind Hints (优化查找&复制数组)
- uvalive 4329 Ping Pong(树状数组)
- 中途相遇法,哈希技术(和为0的4个值,uva 1152)
- UVA 12086 Potentiometers(树状数组|| 线段树单点更新)
- 【Java】【滚动数组】【动态规划】UVA - 11137 - Ingenuous Cubrency
- 求出长度为1, 2, 3, 4, 5....的字符串最大出现次数 后缀数组 UVA 11855 - Buzzwords
- UVA - 1152 4 Values whose Sum is 0问题分解,二分查找