HDU 4666 Hyperspace(曼哈顿距离)
这是HDU第400个题。
#include <cstdio>
#include <cstring>
#include <set>
#include <iostream>
using namespace std;
int p[],qur[][];
int main()
{
int i,j,k,n,m,num;
while(scanf("%d%d",&n,&m)!=EOF)
{
multiset<int> se[];
multiset<int>::iterator it;
for(k = ; k <= n; k ++)
{
scanf("%d",&num);
if(num == )
{
for(i = ; i < m; i ++)
{
scanf("%d",&p[i]);
qur[k][i] = p[i];
}
for(i = ; i < <<m; i ++)
{
int temp = ;
for(j = ; j < m; j ++)
{
if(i&(<<j))
temp += p[j];
else
temp -= p[j];
} se[i].insert(temp);
}
}
else
{
scanf("%d",&num);
for(i = ; i < <<m; i ++)
{
int temp = ;
for(j = ; j < m; j ++)
{
if(i&(<<j))
temp += qur[num][j];
else
temp -= qur[num][j];
}
it = se[i].find(temp);
se[i].erase(it);
}
}
int maxz = ;
for(i = ; i < <<m; i ++)
{
j = (~i)&((<<m)-);
int t1,t2;
it = se[i].end();
it --;
t1 = (*it);
it = se[j].end();
it --;
t2 = (*it);
if(maxz < t1 + t2)
maxz = t1 + t2;
}
printf("%d\n",maxz);
}
}
return ;
}
HDU 4666 Hyperspace(曼哈顿距离)的更多相关文章
- hdu 4666 最大曼哈顿距离
思路:这题我是看了题目后,上百度搜了一下才知道还有求最大曼哈顿距离的方法.直接把代码copy过来,研读一下,知道了代码实现机制,自然就很容易想到用优先队列来维护每种状态下的xi,yi之和的最大值最小值 ...
- hdu 4666:Hyperspace(最远曼哈顿距离 + STL使用)
Hyperspace Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Tota ...
- HDU 4666 Hyperspace (最远曼哈顿距离)
Hyperspace Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Tota ...
- HDU 4666 Hyperspace (2013多校7 1001题 最远曼哈顿距离)
Hyperspace Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Tota ...
- [HDU 4666]Hyperspace[最远曼哈顿距离][STL]
题意: 许多 k 维点, 求这些点之间的最远曼哈顿距离. 并且有 q 次操作, 插入一个点或者删除一个点. 每次操作之后均输出结果. 思路: 用"疑似绝对值"的思想, 维护每种状态 ...
- hdu4666 Hyperspace ——曼哈顿距离
link:http://acm.hdu.edu.cn/showproblem.php?pid=4666 这题学会了怎么处理曼哈顿距离. 比如维数是k,那么每个点有2^k个状态,求出在每个状态下,所有点 ...
- Hdu 4311-Meeting point-1 曼哈顿距离,前缀和
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4311 Meeting point-1 Time Limit: 2000/1000 MS (Java/Oth ...
- hdu 4666 Hyperspace
曼哈顿距离,两个点设为(x1,y1),(x2,y2),其距离为|x1-x2|+|y1-y2| #include <cstdio> #include <set> #include ...
- HDU - 3567 IDA* + 曼哈顿距离 + 康托 [kuangbin带你飞]专题二
这题难度颇大啊,TLE一天了,测试数据组数太多了.双向广度优先搜索不能得到字典序最小的,一直WA. 思路:利用IDA*算法,当前状态到达目标状态的可能最小步数就是曼哈顿距离,用于搜索中的剪枝.下次搜索 ...
随机推荐
- ubuntu 12.04 server编译安装nginx
tar -xvf zlib-1.2.8.tar.gz cd zlib-1.2.8 ./config make make install above is for zlib(refers http:// ...
- BZOJ 3540 realtime-update 解题
分析一下题意,大约是给定一串牛,然后找到一个跨越距离最长的牛子串使得在这个范围内白牛和花牛一样多. 白牛可以任意涂成花牛. 既然"白牛可以任意涂成花牛",那么我们需要找到一个最长的 ...
- 07 day 2
又是惨烈的一天 第一题 多重背包.二进制拆分即可. #include <stdio.h> #define max(a,b) ((a)>(b)?(a):(b)) int n,m,i,j ...
- DropDownList1
循环绑定数据到DropDownList1 foreach (SPList ls in web.Lists) { LIColl.Add(ls.Title);//将数据保存list中 } dwlist.D ...
- Linux系统排查2——CPU负载篇
本随笔介绍CPU负载的排查手段. 查看系统负载的工具:uptime,w,都能查看系统负载,系统平均负载是处于运行或不可打扰状态的进程的平均数, 可运行:运行态,占用CPU,或就绪态,等待CPU调度. ...
- Flash Player 19.0.0.124 Beta + IHTMLDocument3 IHTMLDocument2 ->get_innerHTML
安装 Flash Player 19 之后 有 flash 动画的网页中 IHTMLDocument3 IHTMLDocument2 ->get_innerHTML 获取的 html 内容都是空 ...
- Java for LeetCode 203 Remove Linked List Elements
Remove all elements from a linked list of integers that have value val. Example Given: 1 --> 2 -- ...
- ext树表+ZeroClipboard复制链接功能
效果图:
- hp unix
HP-UNIX 命令大全 #vgdisplay -v vgname #lvdisplay -v lvfullpath #pvdisplay -v pvfullpath # ioscan –fnkC d ...
- p188习题2