博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Uva 1152 4 Values whose Sum is 0 二分
阅读量:3904 次
发布时间:2019-05-23

本文共 811 字,大约阅读时间需要 2 分钟。

题目:

给出4个n(1<=n<=4000)元素集合A,B,C,D,要求分别从中选取一个元素a,b,c,d使得a+b+c+d=0。

思路:

a+b=-(c+d)。

将(a+b)的和(c+d)的和全部枚举出来,然后枚举(a+b)的和利用二分查找c+d中符合的元素。

代码如下:

#include 
#include
#include
#include
using namespace std;typedef long long ll;const int maxn=4*1e3+5;int n,t;ll a[maxn],b[maxn],c[maxn],d[maxn];ll ans1[maxn*maxn],ans2[maxn*maxn];int cnt;ll num;int Search (ll x){ int l=0,r=cnt-1; while(l<=r) { int mid=(l+r)/2; if(ans2[mid]==x) { int num=0; ll t1=mid,t2=mid; while(ans2[t1]==x&&t1>=0) t1--,num++; while(ans2[t2]==x&&t2
x) r=mid-1; else l=mid+1; } return 0;}int main(){ scanf("%d",&t); int q=0; while(t--) { num=0,cnt=0; scanf("%d",&n); for (int i=0;i

 

转载地址:http://gwoen.baihongyu.com/

你可能感兴趣的文章
Ubuntu下adb无法识别android设备的解决方法
查看>>
使用U盘安装Ubuntu系统的实践小结
查看>>
编译cscope-15.8a遇到的问题与解决方案
查看>>
ubuntu下海信Hisense E920 usb连接不上的处理与adb的连接
查看>>
findbugs的ant脚本实践
查看>>
Ubuntu 12.04 安装 Subversion 1.7
查看>>
scp port 22: Connection refused
查看>>
ubuntu12.04命令行下安装RabbitVCS
查看>>
自定义cscope-index
查看>>
(ubuntu)在andorid andk工程中使用ccache加速编译速度
查看>>
android graphics system学习资料汇总
查看>>
GDB
查看>>
Oracle RAC Failover 详解
查看>>
[转载]Oracle RAC客户端连接不稳定的解决方法
查看>>
ORA RAC ORA-12545:因目标主机或对象不存在,连接失败!
查看>>
证明两节点能正常failover的sql
查看>>
oracle10g rac 报ora-12545错误的解决方案 转载
查看>>
Linux配置Xmanager
查看>>
IP地址正则表达式
查看>>
对SOAP消息头的处理
查看>>