Dima and Magic Guitar CodeForces - 366E

题意:

http://blog.csdn.net/u011026968/article/details/38716425
http://vawait.com/2013/11/codeforces-366e/
http://www.cnblogs.com/jianglangcaijin/archive/2013/11/25/3441319.html

对于s中任意相邻两个数x和y,都要求在矩形中找出任意两个分别等于x和y的点,然后求其曼哈顿距离,本题要求所有求出的曼哈顿距离的最大值最大。容易想到,应当是让一对点的曼哈顿距离最大,其他点任意即可。也就是对于s中所有相邻两个数,找出矩形中分别等于这两个数且之间曼哈顿距离最大的两个点。

曼哈顿距离等于以下的最大值:

(xa-xb)+(ya-yb)
(xa-xb)-(ya-yb)
-(xa-xb)+(ya+yb)
-(xa-xb)-(ya-yb)

也就是这些的最大值:

(xa+ya)-(xb+yb)
(xa-ya)-(xb-yb)
(-xa+ya)-(-xb+yb)
(-xa-ya)-(-xb-yb)

因此要求值分别为a和b的点间最大的曼哈顿距离,就是这四种的最大值,而每种的最大值都是被减数最大,减数最小。也就是分别记录所有值为a的点中xa+ta,xa-ya,-xa+ya,-xa-ya的最大与最小值。

(这题没有讲不可能完成时怎么处理,也没有这样的数据。)

 #include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int a[];
int max1[][],min1[][];
int n,m,k,s,ans;
int main()
{
int i,j,t;
scanf("%d%d%d%d",&n,&m,&k,&s);
memset(min1,0x3f,sizeof(min1));
memset(max1,,sizeof(max1));
for(i=;i<=n;i++)
for(j=;j<=m;j++)
{
scanf("%d",&t);
max1[t][]=max(max1[t][],i+j);
max1[t][]=max(max1[t][],i-j);
max1[t][]=max(max1[t][],-i+j);
max1[t][]=max(max1[t][],-i-j);
min1[t][]=min(min1[t][],i+j);
min1[t][]=min(min1[t][],i-j);
min1[t][]=min(min1[t][],-i+j);
min1[t][]=min(min1[t][],-i-j);
}
scanf("%d",&a[]);
for(i=;i<=s;i++)
{
scanf("%d",&a[i]);
for(j=;j<=;j++)
ans=max(ans,max(max1[a[i-]][j]-min1[a[i]][j],max1[a[i]][j]-min1[a[i-]][j]));
}
printf("%d",ans);
return ;
}

Dima and Magic Guitar CodeForces - 366E的更多相关文章

  1. CF 366E Dima and Magic Guitar(最远哈密顿距离)

    题目链接:http://codeforces.com/problemset/problem/366/E 题意:给出一个n*m的数字矩阵A,每个矩阵元素的范围[1,K].给出一个长度为s的数字串B,B的 ...

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

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

  3. 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 ...

  4. Magic Numbers CodeForces - 628D

    Magic Numbers CodeForces - 628D dp函数中:pos表示当前处理到从前向后的第i位(从1开始编号),remain表示处理到当前位为止共产生了除以m的余数remain. 不 ...

  5. Magic Stones CodeForces - 1110E (思维+差分)

    E. Magic Stones time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...

  6. Chris and Magic Square CodeForces - 711B

    ZS the Coder and Chris the Baboon arrived at the entrance of Udayland. There is a n × n magic grid o ...

  7. Vasya and Magic Matrix CodeForces - 1042E (概率dp)

    大意:给定n*m矩阵, 初始位置(r,c), 每一步随机移动到权值小于当前点的位置, 得分为移动距离的平方, 求得分期望. 直接暴力dp的话复杂度是O(n^4), 把距离平方拆开化简一下, 可以O(n ...

  8. codeforces#516 Div2---ABCD

    A---Make a triangle! http://codeforces.com/contest/1064/problem/A 题意: 给定三个整数表示三角形的边.每次给边长可以加一,问至少要加多 ...

  9. Codeforces Round #262 (Div. 2)解题报告

    详见:http://robotcator.logdown.com/posts/221514-codeforces-round-262-div-2 1:A. Vasya and Socks   http ...

随机推荐

  1. fastdfs配置文件解析

    1 tracker.conf 1.1 disabled=false 设置为false则该配置文件生效,否则屏蔽. 1.2 bind_addr= 程序监听地址,如果不设定则监听所有地址. 1.3 por ...

  2. 微信小程序存放视频文件到阿里云用到算法js脚本文件

           peterhuang007/weixinFileToaliyun: 微信小程序存放视频文件到阿里云用到算法js脚本文件 https://github.com/peterhuang007/ ...

  3. 武汉哪里有卖篮球架的 n-gram

    铜像雕塑哪里有加工厂华强北哪里可以解ID锁?我的苹果ipadmini2忘记屏幕密码了,刷机后需要原始appleID激活深圳小吃培训哪家好?东莞哪里有小吃培训的?禅城哪里有收纳箱专卖店?篷房就是帐篷吗? ...

  4. 有奖试读&amp;征文——我们在互联网上奋斗的故事 获奖名单发布

    互联网是一个年轻的行业,同一时候也是一个推陈出新.不断进化的行业. 中国互联网行业在近期的十五年里.以如何的方式在"进化".我相信非常多奋斗在互联网战线上的你们最深有感触.读一读& ...

  5. react native 中的redux 理解

    redux 中主要分为三大块,分别是Action Reducer 与Store. 1.Action是js的一个普通对象,是store数据的唯一来源.通过store.dispath()讲action传到 ...

  6. hihocoder 1082 然而沼跃鱼早就看穿了一切 (替换指定的串 )

    #1082 : 然而沼跃鱼早就看穿了一切 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 fjxmlhx每天都在被沼跃鱼刷屏,因此他急切的找到了你希望你写一个程序屏蔽所有句 ...

  7. erlang的base64解码问题

    在收到客户端的数字签名signature后,需要对signature做base64的解码.代码如下所示: validate(SignedRequest) -> RequestParts = st ...

  8. AM335x Android eMMC mkmmc-android.sh hacking

    # AM335x Android eMMC mkmmc-android.sh hacking # # . 有空解读一下android的分区文件. # . 代码来源:https://github.com ...

  9. BZOJ_2683_简单题&&BZOJ_1176_[Balkan2007]Mokia_CDQ分治+树状数组

    BZOJ_2683_简单题&&BZOJ_1176_[Balkan2007]Mokia_CDQ分治+树状数组 Description 维护一个W*W的矩阵,初始值均为S.每次操作可以增加 ...

  10. javaScript的几个问题简答

    1.javascript的typeof返回哪些数据类型    Object.number. function. boolean. underfind 2.例举3种强制类型转换和2种隐式类型转换?    ...