POJ 2926加强版,使用set处理,,

//#pragma comment(linker, "/STACK:102400000,102400000")
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<set>
using namespace std;
const int M= 60005;
#define inf 1e100
int a[M][5];
int n,dem;
multiset<int>q[1<<5];int main()
{while (~scanf("%d%d", &n ,&dem)){int ans , t;int op;multiset<int>::iterator it,its;for(int i=0;i<(1<<5);i++)q[i].clear();for(int i=1; i<=n; ++i){scanf("%d",&op);if(!op){for(int j=0; j<dem; ++j){scanf("%d",&a[i][j]);}for (int s=0; s<(1<<dem); s++){t = 0;for (int j=0; j<dem; j++){if ((1<<j) & s)t += a[i][j];elset -= a[i][j];}q[s].insert(t);   //该点该状态下的值}}else{int del;scanf("%d",&del);for (int s=0; s<(1<<dem); s++){t = 0;for (int j=0; j<dem; j++){if ((1<<j) & s)t += a[del][j];elset -= a[del][j];}it=q[s].find(t);q[s].erase(it);  //关于该点的记录全部删除}}ans=0;for (int s=0; s<(1<<dem); s++){it=q[s].begin();its=q[s].end();its--;ans=max(ans,(*its)-(*it));}cout<<ans<<endl;}}return 0;
}

HDU 4666 Hyperspace(最长曼哈顿距离)相关推荐

  1. [HDU 4666]Hyperspace[最远曼哈顿距离][STL]

    题意: 许多 k 维点, 求这些点之间的最远曼哈顿距离. 并且有 q 次操作, 插入一个点或者删除一个点. 每次操作之后均输出结果. 思路: 用"疑似绝对值"的思想, 维护每种状态 ...

  2. HDU 4666 Hyperspace【最远曼哈顿距离+优先队列】

    这个题是动态的求最远曼哈顿距离.做法和POJ 2926 Requirements一样,都是通过二进制枚举符号的情况. 每插入一个节点都要询问最大值和最小值,因此用一个优先队列或者堆维护就可以了. #i ...

  3. hdu 4666 Hyperspace

    点击打开hdu 4666 思路:n维空间计算最远的曼哈顿距离 分析: 1 这一题和poj2926很像,但是poj那题是静态的而这边则是动态的,对于静态的话我们知道只要去求出2^n状态下的最大值和最小值 ...

  4. HDU 4666 Hyperspace(优先队列)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4666 题意:两种操作:(1)增加一个点到序列中:(2)删除序列中的某个点.在每次操作之后,输出序列中曼 ...

  5. HDU 3085 Nightmare Ⅱ【BFS +曼哈顿距离+综合性较强】

    Nightmare Ⅱ Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total S ...

  6. Hyperspace HDU - 4666

    http://acm.hdu.edu.cn/showproblem.php?pid=4666 动态求最远曼哈顿距离 线段树维护区间最值就好 但是k维空间会有2^k种情况 只能离线每一种情况 最后么一个 ...

  7. 专题训练二 搜索进阶 HDU - 3085 Nightmare Ⅱ (双向BFS + 曼哈顿距离)

    HDU - 3085 Nightmare Ⅱ (双向BFS + 曼哈顿距离) Problem Description Last night, little erriyue had a horrible ...

  8. HDU 4311 - Meeting point-1(前缀和优化曼哈顿距离)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4311 题意:给定n个点,找出一点使得该点到其余各点的曼哈顿距离总和最小,输出最小值. 思路:分别对横纵 ...

  9. HDU 1043 Eight(八数码第七境界|A*+哈希+曼哈顿距离)

    题意:八数码. 思路:将上一篇博客的估计函数h更改为求当前状态到目标状态的曼哈顿距离,因为每次都是和空格交换,所以计算的时候不计算空格的曼哈顿距离就可以满足估计函数的两条性质: 1.h(n)>h ...

最新文章

  1. 2021年大数据Flink(六):Flink On Yarn模式
  2. C++ 经常使用类 string类
  3. 介绍27款经典的CSS框架
  4. git 远程分支和tag标签的操作
  5. ERP与SCM之区别
  6. ASP.NET Core 企业级开发架构简介及框架汇总
  7. 远程办公第一天,你掉线了吗?
  8. c++ std::async的注意事项
  9. 小程序代理创业成功的五个条件
  10. 分布式和微服务_太难了!阿里三面凉透~ Spring+高并发+算法+分布式微服务等等一个都没讲不清...
  11. 免费的安全删除软件 SDelete v1.51
  12. app上线发布流程_完整iOS APP发布App Store上架流程
  13. 如何使用计算机计算平方面积,尺平方米换算计算器(面积单位换算器)
  14. 勾股定理,西方称为毕达哥拉斯定理
  15. c语言rst关系,为什么服务器突然回复RST——小心网络中的安全设备
  16. 微信小程序map地图轨迹回放的问题
  17. Android远程桌面助手(B1309)
  18. Python读取显示raw图片+numpy基本用法记录
  19. 火火火---12幅算法生成火的图像
  20. 通信人每天挂在嘴边的“网管”,到底是个啥东东?

热门文章

  1. 速读原著-Java核心技术(安装Java开发工具包)
  2. Faster RCNN近似端到端法详解
  3. td 元素属性 noWrap 防止折行、撑开及文字换行
  4. line-height:1
  5. 不同区域的多台UPS电源如何实现跨网段监控集中监控?
  6. 【无标题】导出为Excel文件
  7. 4种解法 - 计算平方根
  8. .NET练习计算平方根
  9. onReceive Android
  10. 关于PHP程序员技术职业生涯规划