HDU-4666 最远曼哈顿距离
来源:互联网 发布:mac视频加速播放器 编辑:程序博客网 时间:2024/04/30 04:59
题目连接
此题值得分析:
曼哈顿距离:两个点所对应的坐标差的绝对值之和。比如在一维空间:x1,x2. d=|x1-x2|,二维空间:(x1,y1),(x2,y2) d=|x1-x2|+|y1-y2| 三维空间(x1,y1,z1),(x2,y2,z2)
d=|x1-x2|+|y1-y2|+|z1-z2|,以此类推。。。
看到绝对值,我们就想到去绝对值。如果在二维空间:d=|x1-x2|+|y1-y2|
拆开:x1-x2+y1-y2, x1-x2+y2-y1, x2-x1+y1-y2, x2-x1+y2-y1 每个绝对值的里面去了有2种,有n维空间,就有2*2*2.......2=>2^n
在把上面的整理一下有:(x1+y1)+(-x2-y2) , (-x1+y1)+(x2-y1),(x1-y1)+(-x2+y2),(-x1-y1)+(x2+y2);
再看对应每个点:(x1+y1),(-x1+y1),(x1-y1),(-x1-y1)和 (x2+y2),(-x2+y2),(x2-y2),(x2+y2)
这样就可以把每个点的2^n种情况计算出来了这样就可以其他点做差,取出最大的就行了
代码:
#include<cstdio>#include<cstring>#include<set>using namespace std;multiset<int>mt[32];multiset<int>::iterator it1,it2;int a[60005][6];int main(){int n,m,i,j,k;int od,x,tmp,ret;while(scanf("%d %d",&n,&m)!=EOF){for(i=0;i<32;i++) mt[i].clear();for(i=1;i<=n;i++){scanf("%d",&od);if(od==0){for(j=0;j<m;j++)scanf("%d",&a[i][j]);for(j=0;j<(1<<m);j++){tmp=0;for( k=0;k<m;k++)if(j&(1<<k)) tmp+=a[i][k];else tmp-=a[i][k];mt[j].insert(tmp);}}else{scanf("%d",&x);for(j=0;j<(1<<m);j++){tmp=0;for(k=0;k<m;k++)if(j&(1<<k)) tmp+=a[x][k];else tmp-=a[x][k];it1=mt[j].find(tmp);mt[j].erase(it1);}} ret=0; for(j=0;j<(1<<m);j++){it1=mt[j].end();it1--;it2=mt[j].begin();ret=max(ret,(*it1)-(*it2)); } printf("%d\n",ret); }}return 0;}
- HDU-4666 最远曼哈顿距离
- [HDU 4666]Hyperspace[最远曼哈顿距离][STL]
- [HDU 4666]Hyperspace[最远曼哈顿距离][STL]
- hdu 4666 最远曼哈顿
- HDU 4666 Hyperspace【最远曼哈顿距离+优先队列】
- HDU 4666 经典的求最远曼哈顿距离
- 最远曼哈顿距离小结 poj 2926 Requirements&hdu 4666 Hyperspace
- HDU 4666 STL求多维最远曼哈顿距离
- 最远曼哈顿距离小结 poj 2926 Requirements&hdu 4666 Hyperspace
- hdoj 4666 Hyperspace 【最远曼哈顿距离】
- 最远(近)曼哈顿距离
- ]Requirements[最远曼哈顿距离]
- 最远曼哈顿距离
- 2013 多校第七场 hdu 4666 Hyperspace(最远曼哈顿距离)
- HDU4666+POJ2926【最远曼哈顿距离】
- hdu4666--Hyperspace--最远曼哈顿距离
- Hdu-4666 Hyperspace(曼哈顿距离)
- XDU Problem 1241 - 最远曼哈顿距离
- Android中的签名机制
- 管理诊断数据(1)---故障诊断性基础结构
- Ignatius and the Princess III(hdu1028,母函数之整数划分)
- JAVA 参数传方法
- MYSQL获取自增ID的四种方法
- HDU-4666 最远曼哈顿距离
- __builtin_popcount()
- LINUX内核中的xx_initcall初始化标号
- 统计硬币(hdu2566,母函数or暴力)
- Changing DataSource Properties Using JMX Code
- [ java ] spring-mvc!
- python学习初步--安装和打包
- 基于虚拟化多租户数据中心的IaaS
- Tomcat和jboss 热部署调试Web应用,不重启Server