代码:

这道题也并不难,用排序+简单动规即可。因为@Kevin_Wa 大佬放的是c++,所以我来一发Pascal。

var min,max,i,a1,b1,c1,d1,n:longint;
a,b,c,d:array[0..500000] of int64;
procedure sort(l,r: longint);
var i,j,x,y,y1,y2,y3:longint;
begin
i:=l;j:=r;x:=a[(l+r) div 2];y1:=b[(l+r) div 2];
y2:=c[(l+r) div 2];y3:=d[(l+r) div 2];
repeat
while (a[i]<x)or((a[i]=x)and(b[i]<y1))or((a[i]=x)and(b[i]=y1)and(c[i]<y2))
or((a[i]=x)and(b[i]=y1)and(c[i]=y2)and(d[i]<y3)) do inc(i);
while (x<a[j])or((x=a[j])and(y1<b[j]))or((x=a[j])and(y1=b[j])and(y2<c[j]))
or((x=a[j])and(y1=b[j])and(y2=c[j])and(y3<d[j])) do dec(j);
if not(i>j) then
begin
y:=a[i];a[i]:=a[j];a[j]:=y;
y:=b[i];b[i]:=b[j];b[j]:=y;
y:=c[i];c[i]:=c[j];c[j]:=y;
y:=d[i];d[i]:=d[j];d[j]:=y;
inc(i);j:=j-1;
end;
until i>j;
if l<j then sort(l,j);
if i<r then sort(i,r);
end;
begin
readln(n);
for i:=1 to n do
begin
read(a1,b1,c1,d1);
a[i]:=b1-a1;b[i]:=c1-a1;c[i]:=d1-a1;
d[i]:=i;
end;
sort(1,n);
min:=maxlongint;
max:=-maxlongint;
for i:=2 to n do
if (a[i]=a[i-1])and(b[i]=b[i-1])and(c[i]=c[i-1]) then
begin
if (d[i]-d[i-1]<min) then min:=d[i]-d[i-1];
if (d[i]+d[i-1]>max) then max:=d[i]+d[i-1];
end;
writeln(min,' ',max);
close(input);close(output);
end.

【CYH-02】NOIp考砸后虐题赛:坐标:题解的更多相关文章

  1. 【CYH-02】NOIp考砸后虐题赛:转换式:题解

    这道题真的不难吧. 如@AKEE@AKEE@AKEE 大佬所说,此题的确可以将n推广到一般情况. 但题面还是良心的只到了N<=4N<=4N<=4 以目前的题目来看,简单模拟即可. 分 ...

  2. 【CYH-02】NOIp考砸后虐题赛:数学:题解

    赛后放上.

  3. 【CYH-02】NOIp考砸后虐题赛:函数:题解

    这道题貌似只有@AKEE 大佬A掉,恭喜! 还有因为c++中支持两个参数数量不同的相同名称的函数调用,所以当时就没改成两个函数,这里表示抱歉. 这道题可直接用指针+hash一下,然后就模拟即可. 代码 ...

  4. 【CYH-02】NOIp考砸后虐题赛:成绩:题解

    这道题挺送水了吧... 两种做法. 其实空间都不需要那么大,我来提交界面一看一堆MLE的,于是还是良心的放开了时限. 这么简单,就不做解释了. 下面放出几种代码. 代码: 两个数组: #include ...

  5. CYJian的新春虐题赛

    题解: t1: 算了一下发现乘法也是可以莫比乌斯反演的 然后就直接对原式莫比乌斯反演了 大概加法是$\mu {(i)}*f(i)$ 乘法就是$f(i)^{\mu {(i)}}$ 然后这个算法成功达到$ ...

  6. 退役II次后做题记录

    退役II次后做题记录 感觉没啥好更的,咕. atcoder1219 历史研究 回滚莫队. [六省联考2017]组合数问题 我是傻逼 按照组合意义等价于\(nk\)个物品,选的物品\(\mod k\) ...

  7. 退役IV次后做题记录

    退役IV次后做题记录 我啥都不会了.... AGC023 D 如果所有的楼房都在\(S\)同一边可以直接得出答案. 否则考虑最左最右两边的票数,如果左边>=右边,那么最右边会投给左边,因为就算车 ...

  8. 退役III次后做题记录(扯淡)

    退役III次后做题记录(扯淡) CF607E Cross Sum 计算几何屎题 直接二分一下,算出每条线的位置然后算 注意相对位置这个不能先搞出坐标,直接算角度就行了,不然会卡精度/px flag:计 ...

  9. 洛谷P1067 多项式输出 NOIP 2009 普及组 第一题

    洛谷P1067 多项式输出 NOIP 2009 普及组 第一题 题目描述 一元n次多项式可用如下的表达式表示: 输入输出格式 输入格式 输入共有 2 行 第一行 1 个整数,n,表示一元多项式的次数. ...

随机推荐

  1. win32内存调用图

    https://msdn.microsoft.com/en-us/library/ms810603.aspxhttps://www.codeproject.com/Articles/14525/Hea ...

  2. Qt 5.8 for Device Creation(好多内容,包括虚拟机安装,静态编译)

    http://doc.qt.io/QtEnterpriseEmbedded/qt-configuration-tool.html http://doc.qt.io/QtEnterpriseEmbedd ...

  3. Qt在Windows下的三种编程环境搭建(图文并茂,非常清楚)good

    尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/17363165 从QT官网可以得知其支持的平台.编译器 ...

  4. c# json key转大小写

    有需求需要将json的字段转换为小写,使用正则表达式实现,代码如下 正则表达式为   \"[a-zA-Z0-9]+\"\s*: MatchCollection ms = Regex ...

  5. elasticsearch local debug环境搭建

    最近计划看看elasticsearch的源码,首先得把local debug环境搞定. 下载源码.因为公司产线是5.6.5,所以就下载了5.6.5的代码. 源码编译.先进入到/elasticsearc ...

  6. qt 心跳设计

    网络通信中的心跳设计是为了判断客户端和服务器通信是socket是否处于连接状态,服务端每隔一个固定的时间间隔给客户端放消息,客户端设计一个心跳类,类中有一个定时器,当socket接收到信息时,心跳类记 ...

  7. LOG4NET图文教程

    LOG4NET教程 一:简介 从操作系统到大多数的大型软件,都会有自己的程序运行时的日志跟踪API.因为一旦程序被部署以后,就不太可能再利用专门的调试工具了.然而软件开发人员需要一套强大的日志系统来记 ...

  8. 介绍两种Timer定时器的使用

    第一种, 直接实例化Timer类,设置时间间隔,到达时间后执行想要执行的事件.代码示例: using System; using System.Collections.Generic; using S ...

  9. .Net上传文件处理三大范式,及开发注意事项

    最近工作内容涉及到一点前端的内容,把学习到的内容记录下来,在今后的开发过程中,不要犯错.本篇只针对一些刚入职的小白及前端开发人员,大牛请绕道!~ 刚开始我们先不讲上传文件的防范问题,先通过一个例子,让 ...

  10. RocketMQ(6)---发送普通消息(三种方式)

    发送普通消息(三种方式) RocketMQ 发送普通消息有三种实现方式:可靠同步发送.可靠异步发送.单向(Oneway)发送. 注意 :顺序消息只支持可靠同步发送. GitHub地址: https:/ ...