HDU4666+POJ2926【最远曼哈顿距离】
来源:互联网 发布:2016淘宝c店销售前十名 编辑:程序博客网 时间:2024/04/30 04:02
一开始就明白那个N*1《k的算法了,
可无奈删除操作耗时还是太多,最后学习了STL set,map相应的用法,方便好多。
STL真的是一个好工具
#include<iostream>#include<cstdio>#include<map>#include<set>#include<vector>#include<cstring>using namespace std;multiset<int> a[60005];int x[60005][6];int main(){ int n,k,op,num; while(scanf("%d%d",&n,&k)!=EOF) { for(int i=0;i<1<<k;i++) a[i].clear(); for(int i=1;i<=n;i++) { scanf("%d",&op); if(op==0) { for(int j=0;j<k;j++) scanf("%d",&x[i][j]); for(int j=0;j<1<<k;j++) { int s=0; for(int q=0;q<k;q++) { if(j&1<<q) s+=x[i][q]; else s-=x[i][q]; } a[j].insert(s); } } else { scanf("%d",&num); for(int j=0;j<1<<k;j++) { int s=0; for(int q=0;q<k;q++) { if(j&1<<q) s+=x[num][q]; else s-=x[num][q]; } multiset<int>::iterator sum=a[j].find(s); a[j].erase(sum); } } int ans=-100000000; for(int j=0;j<1<<k;j++) { multiset<int>::iterator t=a[j].end(); t--; int t1=(*t); t=a[j].begin(); int t2=(*t); ans=max(ans,t1-t2); } printf("%d\n",ans); } } return 0;}
接下来是POJ2926这道题用上面的方法奇葩的是G++WA,C++TLE,,无语中。。。
把multiset去了稍微改一下就过了,,囧,,,,
#include<iostream>#include<cstdio>#include<cstring>#include<map>#include<set>#define inf 999999999using namespace std;double x[100005][6];double a[1<<5+1][2];int main(){ int n; scanf("%d",&n); { for(int i=0;i<1<<5;i++) { a[i][0]=-inf; a[i][1]=inf; } for(int qq=1;qq<=n;qq++) { for(int j=0;j<5;j++) scanf("%lf",&x[qq][j]); for(int i=0;i<(1<<5);i++) { double sum=0; for(int j=0;j<5;j++) { if(i&(1<<j)) sum+=x[qq][j]; else sum-=x[qq][j]; } if(sum>=a[i][0]) a[i][0]=sum; if(sum<=a[i][1]) a[i][1]=sum;//是所有数的相减。。 } } double ans=-inf; for(int i=0;i<(1<<5);i++) { // printf("%.2lf %.2lf\n",a[i][0],a[i][1]); double temp=a[i][0]-a[i][1]; ans=max(ans,temp); } printf("%.2lf\n",ans); } return 0;}
- HDU4666+POJ2926【最远曼哈顿距离】
- hdu4666--Hyperspace--最远曼哈顿距离
- 【最大曼哈顿距离】POJ2926 Requirements
- 最远(近)曼哈顿距离
- ]Requirements[最远曼哈顿距离]
- 最远曼哈顿距离
- hdu4666(曼哈顿距离+set或multiset)
- 【POJ2926】Requirements【二进制】【最大曼哈顿距离】
- HDU-4666 最远曼哈顿距离
- XDU Problem 1241 - 最远曼哈顿距离
- POJ 2926 Requirements【最远曼哈顿距离】
- [poj 2926]Requirements[最远曼哈顿距离]
- [HDU 4666]Hyperspace[最远曼哈顿距离][STL]
- 两种最远曼哈顿距离模板
- [HDU 4666]Hyperspace[最远曼哈顿距离][STL]
- hdoj 4666 Hyperspace 【最远曼哈顿距离】
- POJ2926-Requirements,曼哈顿距离。去掉绝对值符号暴力枚举所有情况,神薙!
- poj 2926 Requirements N维最远曼哈顿距离
- SSH 上传下载
- JQuery之append和appendTo的区别,还有js中的appendChild用法
- 对ToString("X2 ")的理解
- maven整合web项目
- 解决Linux下报java.net.UnknownHostException: gateway.sandbox.push.apple.com问题
- HDU4666+POJ2926【最远曼哈顿距离】
- Hadoop: the definitive guide 第三版 拾遗 第五章 之MRUnit
- 使用SVN进行Unity3D项目管理的方法
- Mahout0.6-数据格式转换
- ext direct spring Maven set up(配置)
- UITableView的重用机制
- Android Service学习之AIDL, Parcelable和远程服务
- getting start with storm 翻译 第四章 part-1
- linux下vi命令大全(