poj2926 Requirements
2016-02-14 15:37
399 查看
题目很长 故事很短…..
求曼哈顿距离
5维的 其实几维的不重要 模版都是一样的
思考二维的 去掉绝对值分正负讨论 得出规律
符号使用二进制枚举
求曼哈顿距离
5维的 其实几维的不重要 模版都是一样的
思考二维的 去掉绝对值分正负讨论 得出规律
符号使用二进制枚举
#include<cstdio> typedef double d; const d maxm=0x3f3f3f3f; const d minm=-0x3f3f3f3f; const int maxn=100005; struct note{ d x[5]; }a[maxn]; d max(d aa,d bb){ return aa>bb?aa:bb; } d min(d aa,d bb){ return aa<bb?aa:bb; } d abs_(d aa){ if(aa<0.0)return -aa; return aa; } int main(){ int n; while(scanf("%d",&n)!=-1){ for(int i=0;i<n;i++){ scanf("%lf%lf%lf%lf%lf",&a[i].x[0],&a[i].x[1],&a[i].x[2],&a[i].x[3],&a[i].x[4]); } int const_=(1<<5); d ans=minm; for(int ii=0;ii<const_;ii++){ d max_=minm,min_=maxm;//一开始这个也在最上面 要求的是每次的max_ min_ for(int i=0;i<n;i++){//犯错误 一开始这层循环在最上面 当然是错了 d sum=0.0; for(int j=0;j<5;j++){ if(ii>>j &1) //二进制枚举 sum+=a[i].x[j]; else sum-=a[i].x[j]; } max_=max(max_,sum); min_=min(min_,sum); } ans=max(ans,(max_-min_));//加不加abs其实效果一样 因为情况计算都是对立的 } printf("%.2lf\n",ans); } return 0; }
相关文章推荐
- API Guides(二)——Activity To AIDL
- iOS7 iOS8 UITableviewCell处于编辑状态,dismiss或者back崩溃
- WeUI logo专为微信设计的 UI 库 WeUI
- 在一般处理文件中访问Session需要添加IRequiresSessionState
- BlockingQueue简介
- 编译ionic项目的时候提示: Please install the Android build tools version 19.1.0 or higher.
- squirrel sql client 连接phoenix
- EasyUi 中datagrid 实现查询方法
- rpmbuild常用命令
- cf#ecr7-A. Infinite Sequence-暴力/二分-数学
- jmeter jdbc request使用详解
- 11.UIView的transform属性
- 【摘】 pt-query-digest工具一解
- UILabel textAlignment 居中 左右对齐
- 【转】Android低功耗蓝牙应用开发获取的服务UUID
- 放肆地使用UIBezierPath和CAShapeLayer画各种图形
- POJ 2926 Requirements
- 使用SoapUI和Jmeter接口测试的结构区别(以图为例)
- IOS之UIViewController、UINavigationController与UITabBarController的整合使用
- final、static、this、continue与break关键字的使用