P1632 点的移动

题目描述

平面上有N个整数坐标点。如果将点(x0,y0)移动到(x1,y1),则需要的代价为|x0-x1|+|y0-y1|。求使得K(K=1,…,N)个点在同一位置上最少需要的代价。

输入输出格式

输入格式:

第一行一个正整数N;

接下来N行,每行两个正整数xi和yi,为第i个点的坐标,不超过10^6。

输出格式:

输出共N行,第i行为使得有i个点在统一位置的最少代价。

输入输出样例

输入样例#1:

4

15 14

15 16

14 15

16 15

输出样例#1:

0

2

3

4

【数据规模】

对于100%的数据中,满足1<=N<=50。


思路:


安利博客

题目传送门


先说一下我犯得一个严重错误。题目没读清。让输出移动k个点的,而不是n个。一定要

认真读题

啊。


这个题是暴力枚举,可是,为什么可以。

下面让我们想一下这个;

则需要的代价为|x0-x1|+|y0-y1|。求使得K(K=1,…,N)个点在同一位置上最少需要的代价。

最优的点的横纵坐标一定来源于已知点的横纵坐标

为什么这么说呢,联想两点之间线段最短,如果有两个点,把它们移动到一个点上,最优解是移动到他两个连线的线段上。

比方说下面的图

1是一个最优点,而根据曼哈顿距离的计算公式,我们可以发现,最优点2与最优点1是等效的。

我们考虑找到每两个点的最优点,这些点的最优点又会在最优点连城的线段上。

而这个点,又可以经过转化,转到一个横纵坐标已知的点上。

而且就算是多边形也没有关系啊。

最优点一定在网格区域内,网格区域的点又可以转化位已知的点的横纵坐标。

现在就证明了枚举横纵坐标的 正确性


下面还有有一个要注意的点。本人的最大值付为了0x7fffff;

然后

看看这个QAQ

\({\Huge\color{Salmon}{Make-sure-your-maximum-is-the-maximum}}\)

付成0x7fffffff就可以了。


\({\color{Green}{By}}\)

\({\color{Green}{enceladus}}\)

最后献上本人丑陋的代码,(代码有锅,勿抄,不要变棕啊)

#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#define INF 0x7fffffff
#define ll long long
#define IL inline
#define R register
using namespace std;
ll ans[57];
int x[57],y[57];
long long l[57];
ll tot=0;
int mx,my;
int n; int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>x[i]>>y[i];
ans[i]=0x7fffffff;
}
for(int j=1;j<=n;j++)
{
for(int k=1;k<=n;k++)
{
for(int t=1;t<=n;t++)
{
l[t]=abs(x[t]-x[j])+abs(y[t]-y[k]);
}
tot=0;
sort(l+1,l+1+n);
for(int i=1;i<=n;i++)
{
tot+=l[i];
ans[i]=min(ans[i],tot);
}
}
}
for(int i=1;i<=n;i++)
{
cout<<ans[i]<<endl;
}
return 0;
}

题解 P1632 点的移动的更多相关文章

  1. 【洛谷P1632】点的移动

    P1632 点的移动 题目描述 平面上有N个整数坐标点.如果将点(x0,y0)移动到(x1,y1),则需要的代价为|x0-x1|+|y0-y1|.求使得K(K=1,-,N)个点在同一位置上最少需要的代 ...

  2. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  3. noip2016十连测题解

    以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...

  4. BZOJ-2561-最小生成树 题解(最小割)

    2561: 最小生成树(题解) Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1628  Solved: 786 传送门:http://www.lyd ...

  5. Codeforces Round #353 (Div. 2) ABCDE 题解 python

    Problems     # Name     A Infinite Sequence standard input/output 1 s, 256 MB    x3509 B Restoring P ...

  6. 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解

    题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...

  7. 2016ACM青岛区域赛题解

    A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Jav ...

  8. poj1399 hoj1037 Direct Visibility 题解 (宽搜)

    http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...

  9. 网络流n题 题解

    学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...

随机推荐

  1. Halcon学习之文本操作

    1.          新建文本文件open_file ( : : FileName, FileType : FileHandle ) 创建 ( 'output' or 'append' )或者打开  ...

  2. 概览JVM的基本结构和JVM内存结构

    概览JVM的基本结构和JVM的内存结构 这里概要介绍一下JVM在启动后,作为操作系统的一个进程的基本结构,以及从操作系统角度看,JVM如何管理它从操作系统里申请来的内存的,也就是JVM的内存结构或者叫 ...

  3. c语言语法目录一

    1.#include<stdio.h> include 是要告诉编译器,包含一个头文件 在c语言中,任何库函数调用都需要提前包含头文件 <头文件> 代表让c语言编译器去系统目录 ...

  4. git配置多用户多平台

    在Git使用中经常会碰到多用户问题,例如:你在公司里有一个git账户,在github上有一个账户,并且你想在一台电脑上同时对这两个git账户进行操作,此时就需要进行git多用户配置. 首先配置不同的S ...

  5. 【总结整理】KANO 模型

    c 基本(必备)型需求——Must-beQuality/ Basic Quality. 期望(意愿)型需求——One-dimensional Quality/ Performance Quality. ...

  6. 使用RandomAccessFile读写数据

    ------------siwuxie095 工程名:TestRandomAccessFile 包名:com.siwuxie095.file 类名:MultiWriteFile.java(主类).Wr ...

  7. vectors 使用应该注意到的问题

    ector1. vector的元素必须具备 assignable和 copyable . 2.vector的迭代器是随机存取迭代器. 3.要考虑到vector的大小(size)和容量(capacity ...

  8. Lambda01 编程范式、lambda表达式与匿名内部类、函数式接口、lambda表达式的写法

    1 编程范式 主要的编程范式有三种:命令式编程,声明式编程和函数式编程. 1.1 命令式编程 关注计算机执行的步骤,就是告诉计算机先做什么后做什么 1.2 声明式编程 表达程序的执行逻辑,就是告诉计算 ...

  9. 屌爆的xamarin,一人单挑google/apple/windows

    一个IDE就把3大手机平台全包了: android:自带模拟器xamarin player,速度堪比genymotion. ios:需要一台mac机辅助,一旦配好后可全程脱离,连ios模拟器都给镜像到 ...

  10. Odometry的发布和发布odom到base_link的tf变换

    转载自http://www.ncnynl.com/archives/201702/1328.html ROS发布nav_msgs/Odometry消息,以及通过tf从“odom”坐标系到“base_l ...