题目链接:http://codeforces.com/problemset/problem/366/E

题意:给出一个n*m的数字矩阵A,每个矩阵元素的范围[1,K]。给出一个长度为s的数字串B,B的每个元素的范围[1,K]。将B中的每个元素t用A中的一个位置(i,j)代替,满足A[i][j]=B[t]。这样就得到一个长度为s的位置序列。定义相邻两个位置的距离为曼哈顿距离,定义序列的最大距离为每两个相邻元素距离最大值。求一种替换方案使得序列的最大距离最大。

思路:最后转化成两个位置集合S1,S2,使得从S1、S2中各拿出一个元素使得曼哈顿距离最大。设两个点A(x1,y1),B(x2,y2),。因为是绝对值,所以|x1-x2|+|y1-y2|就是
(x1-x2)+(y1-y2)
-(x1-x2)+(y1-y2)
(x1-x2)-(y1-y2)
-(x1-x2)-(y1-y2)

中的最大值。因此我们对于每个位置(x,y)记录x+y,x-y,-x+y,-x-y。也就是将所有点分四种保存。那么两个点距离的最大值必然在某一种中为两个数的差值。

int n,m,K,s,a[N][N];
set<int> S[10][4];
int b[100005],c[10][10]; int main()
{
Rush(n)
{
RD(m,K,s);
int i,j,k;
FOR0(i,10) FOR0(j,4) S[i][j].clear();
FOR1(i,n) FOR1(j,m)
{
int x;
RD(x);
S[x][0].insert(-i-j);
S[x][1].insert(-i+j);
S[x][2].insert(i-j);
S[x][3].insert(i+j);
}
clr(c,0);
FOR1(i,s)
{
RD(b[i]);
if(i>1) c[b[i]][b[i-1]]=c[b[i-1]][b[i]]=1;
}
int ans=0;
set<int>::iterator it;
FOR1(i,9) FOR1(j,9) if(c[i][j])
{
FOR0(k,4) for(it=S[i][k].begin();it!=S[i][k].end();it++)
{
upMax(ans,abs(*it-*S[j][k].rbegin()));
upMax(ans,abs(*it-*S[j][k].begin()));
}
}
PR(ans);
}
}

  

CF 366E Dima and Magic Guitar(最远哈密顿距离)的更多相关文章

  1. CF 366E - Dima and Magic Guitar 最远曼哈顿距离

    题目:http://codeforces.com/problemset/problem/366/E 事实上就是找 n * m 矩阵中数字 x 和 数字 y 的最远距离. 方法參照武森的论文<浅谈 ...

  2. cf E. Dima and Magic Guitar

    http://codeforces.com/contest/366/problem/E |x1-x2|+|y1-y2|有四种情况 1.-(x1-x2)+(y1-y2); 2.(x1-x2)-(y1-y ...

  3. Dima and Magic Guitar CodeForces - 366E

    Dima and Magic Guitar CodeForces - 366E 题意: http://blog.csdn.net/u011026968/article/details/38716425 ...

  4. 最远 Manhattan 距离

    最远 Manhattan 距离 处理问题 K维空间下的n个点,求两点最远曼哈顿距离 思路 以二维为例介绍算法思想,即可类推到k维.对于P,Q两点,曼哈顿距离|Px-Qx|+|Py-Qy|可看作(±Px ...

  5. hdu 4666:Hyperspace(最远曼哈顿距离 + STL使用)

    Hyperspace Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Tota ...

  6. poj 2926:Requirements(最远曼哈顿距离,入门题)

    Requirements Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 3908   Accepted: 1318 Desc ...

  7. POJ-2926 Requirements 最远曼哈顿距离

    题目链接:http://poj.org/problem?id=2926 题意:求5维空间的点集中的最远曼哈顿距离.. 降维处理,推荐2009武森<浅谈信息学竞赛中的“0”和“1”>以及&l ...

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

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

  9. HDU 4666 Hyperspace (最远曼哈顿距离)

    Hyperspace Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Tota ...

随机推荐

  1. Andriod WIFI驱动模块

    一:什么是WIFI WIFI是一种无线连接技术,可用于手机.电脑.PDA等终端.WIFI技术产生的目的是改善基于IEEE802.11标准的无线网络产品之间的互通性,也就是说WIFI是基于802.11标 ...

  2. C++(MFC)

    C++(MFC) 1.关联变量(与控件关联): (1)一组单选按钮:需要将第一个单选按钮的Group选项设为true,则单选按钮就为一组(组框为标示作用).选中第一个则为0,第二个为1,依次类推(P2 ...

  3. 数据缓存iOS

    有时候,对同一个URL请求多次,返回的数据可能都是一样的,比如服务器上的某张图片,无论下载多少次,返回的数据都是一样的. 上面的情况会造成以下问题 (1)用户流量的浪费(2)程序响应速度不够快 解决上 ...

  4. Windows 7 下配置IIS,并且局域网内可访问

    win7的iis很麻烦滴!我搭建过一次!不过有点问题!还是xp好! 一.进入Win7的 控制面板,选择左侧的 打开或关闭Windows功能 . 二.现在出现了安装Windows功能的选项菜单,注意选择 ...

  5. BZOJ 3436: 小K的农场 差分约束

    题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=3436 题解: 裸的差分约束: 1.a>=b+c  ->  b<=a-c ...

  6. 并查集 基础 AC 2014-01-14 13:37 202人阅读 评论(0) 收藏

    题目地址:http://haut.openjudge.cn/20131112/6/ 求编号最多的组 查看 提交 统计 提问 总时间限制:  1000ms  内存限制:  63353kB 描述 相邻两个 ...

  7. SQL语句备忘

    SELECT beatid,COUNT(d.id) dongnicount FROM `bed_beat_dongni` d INNER JOIN bed_beat b on b.id = d.bea ...

  8. [转载]Spring Autowire自动装配介绍

    转自: http://www.cnblogs.com/zhishan/p/3190757.html 在应用中,我们常常使用<ref>标签为JavaBean注入它依赖的对象.但是对于一个大型 ...

  9. js和jquery获取文档对象以及滚动条位置

    <div style="width:120px;height:120px;border:1px solid red; position:absolute; left:800px; to ...

  10. IText 生成页脚页码

    做doc文档报表的时候可能遇到这样的需求: 每一个页面需要页码,用IText可以完成这样的需求. IText生成doc文档需要三个包:iTextAsian.jar,iText-rtf-2.1.4.ja ...