bzoj4152: [AMPPZ2014]The Captain

水。。。

这个建边排序一下从一边连向一边

dij在这种稀疏图果然不够优秀啊。只是学了一发。

#include<cstdio>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<cmath>
#include<queue>
using namespace std;struct node
{int x,y,d,next;
}a[810000];int len,last[210000];
void ins(int x,int y,int d)
{len++;a[len].x=x;a[len].y=y;a[len].d=d;a[len].next=last[x];last[x]=len;
}struct point
{int x,y,id;
}p[210000];
bool cmp1(point p1,point p2){return p1.x<p2.x;}
bool cmp2(point p1,point p2){return p1.y<p2.y;}int d[210000];
struct dij
{int x;friend bool operator <(dij n1,dij n2){return d[n1.x]>d[n2.x];}
};priority_queue<dij>q;
bool v[210000];int main()
{int n;scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%d%d",&p[i].x,&p[i].y),p[i].id=i;len=0;memset(last,0,sizeof(last));sort(p+1,p+n+1,cmp1);for(int i=1;i<n;i++)ins(p[i].id,p[i+1].id,p[i+1].x-p[i].x),ins(p[i+1].id,p[i].id,p[i+1].x-p[i].x);sort(p+1,p+n+1,cmp2);for(int i=1;i<n;i++)ins(p[i].id,p[i+1].id,p[i+1].y-p[i].y),ins(p[i+1].id,p[i].id,p[i+1].y-p[i].y);memset(d,63,sizeof(d));d[1]=0;memset(v,false,sizeof(v));v[1]=true;dij tt;tt.x=1;q.push(tt);while(q.empty()==false){int x=q.top().x;q.pop();for(int k=last[x];k;k=a[k].next){int y=a[k].y;if(d[y]>d[x]+a[k].d){d[y]=d[x]+a[k].d;if(v[y]==false){v[y]=true;tt.x=y;q.push(tt);}}}v[x]=false;}printf("%d\n",d[n]);return 0;
}

 

转载于:https://www.cnblogs.com/AKCqhzdy/p/8858123.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/369009.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Hibernate的JPA 2.0标准查询

JPA 2.0中引入了条件查询 。 借助条件查询&#xff0c;您可以以类型安全的方式编写查询。 在进行标准查询之前&#xff0c;开发人员必须通过构建基于对象的查询定义来编写查询。 构建查询时&#xff0c;可能会出现语法错误的情况。 条件查询API提供了创建具有编译时安全性的结构…

response对象的使用

使用response对象提供的sendRedirect()方法可以将网页重定向到另一个页面。重定向操作支持将地址重定向到不同的主机上&#xff0c;这一点与转发是不同的。在客户端浏览器上将会得到跳转地址&#xff0c;并重新发送请求链接。用户可以从浏览器的地址栏中看到跳转后的地址。进行…

java 菜单 分隔符_在Java中使用分隔符连接值列表最优雅的方法是什么?

我从来没有找到一个整洁(呃)的方式来做以下事情.说我有一个列表/数组的字符串.abcdefghijkl我想将它们连接成一个由逗号分隔的单个字符串,如下所示&#xff1a;abc,def,ghi,jkl在Java中,如果我这样写(原谅语法),String[] list new String[] {"abc","def",…

thinkphp3.2----实现伪静态和路由配置

URL模式&#xff1a; 0.普通 http://localhost/qixin/ThinkCMF(test)_backup/index.php?guser&mlogin&aindex    带有&#xff1f;号这种传参路径&#xff0c;对SEO不友好 1.pathinfo http://localhost/qixin/ThinkCMF(test)_backup/index.php/user/login/ind…

Cmder - 在右键菜单添加Cmder Here

使用命令行或终端工具的时候都有一个让我们觉得麻烦的问题&#xff0c;就是需要cd很多目录达到目标位置。在可视化操作系统下面我们一般都是已经处在目标目录了&#xff0c;这时需要执行某些命令如&#xff1a; python test.py   现在只需要右键点击"Cmder Here"即…

标题:a 和 a的区别

以前我也是老搞不懂a 和 a的区别, 后来看了很多资料, 终于总结出来一条规律, 小白专用! 看完这个例子就懂了: 例1:$a 8, 求 a a - --a a-- a得多少? 旧值: 8 9 10 9 8 a a - --a a-- a 新值: 9 …

Java EE CDI处理程序方法示例

这是CDI Disposer方法的教程。 在CDI中&#xff0c;由于Producer方法生成的对象随后可以注入到应用程序中&#xff0c;因此使用Disposer方法&#xff0c;以便在其工作完成时将其删除。 Disposer方法始终与Producer方法匹配。 Disposer方法的使用示例是应用程序使用与数据库的连…

转 如何更改linux文件的拥有者及用户组(chown和chgrp)

本文整理自&#xff1a; http://blog.163.com/yanenshun126/blog/static/128388169201203011157308/http://ydlmlh.iteye.com/blog/1435157一、基本知识在Linux中&#xff0c;创建一个文件时&#xff0c;该文件的拥有者都是创建该文件的用户。该文件用户可以修改该文件的拥有者…

微信小程序开发工具最新版本已更新下载(1.02.1804120)

下载地址&#xff1a;windows 64 、 windows 32 、 mac本次更新修复信息如下&#xff1a;1、修复 1.02.1804080 引入的编译条件为分包内页面时无法加载的问题 1. 更新到最新版本后 &#xff0c;编译模式中创建新的直接编译分包(/subpage/a)入口的页面&#xff0c;页面显示白屏无…

Gradle的好处:运行单个测试

我们可以使用Java插件添加的test任务&#xff0c;使用Gradle运行测试代码。 默认情况下&#xff0c;将执行项目中找到的所有测试。 如果要运行单个测试&#xff0c;则可以使用Java系统属性test.single和测试名称。 实际上&#xff0c;系统属性的模式是taskName .single 。 task…

上下div高度动态自适应--另类处理方案

这段时间在工作中遇到一个看似较为棘手的问题。问题描述&#xff1a;查询报表页面分为上下两部分&#xff0c;上部分为条件输入区域&#xff0c;下部分为报表展示区域。客户要求做到默认满屏&#xff08;但要动态适应不同的窗体大小&#xff0c;也就是浏览器窗体用户会手动改变…

java缓冲输入流_java _io_字符缓冲流的输入、输出

新增方法:输入:BufferedReader breadernew BufferedReader(Reader reader);.readLine()读取一行内容&#xff0c;返回字符串输出:BufferedWriter bwriternew BufferedWirter(Writer writer);.newLine() 写入一个换行符输入:File f new File("C:\Users\10853\eclipse-works…

Android Activity has leaked window that was originally added

今天调试程序时log中突然打印这样的错误&#xff0c;但是程序并没有crash&#xff0c;为了不放过一个错误&#xff0c;我决定调查一下。 当时是离开一个activity&#xff0c;然后提示是否退出此界面&#xff0c;接下来就打印此错误&#xff1a; 03-08 18:02:48.521: E/WindowMa…

201571030316/201571030314 《小学四则运算练习软件需求说明》结对项目报告

小伙伴儿的博客地址链接&#xff1a;http://www.cnblogs.com/mjuan/p/8877738.html 我的学号&#xff1a;201571030316 小伴儿的学号&#xff1a;201571030314 一、调研过程&#xff1a; 1. 调查问卷&#xff1a;https://www.wjx.cn/jq/22680271.aspx利用问卷…

关于Java 8的Optional的介绍

我最近发现了JDK 8中Optional类型的添加。 Optional类型是避免NullPointerException一种方法&#xff0c;因为从方法中获取Optional返回值的API使用者被“强制”执行“在线”检查&#xff0c;以消耗其实际返回值。 更多细节可以在Javadoc中看到。 可以在此博客文章中找到非常有…

如何加快HTML页面加载速度

1. 页面减肥 a. 页面的肥瘦是影响加载速度最重要的因素。 b. 删除不必要的空格、注释。 c. 将inline的script和css移到外部文件。 d. 可以使用HTML Tidy来给HTML减肥&#xff0c;还可以使用一些压缩工具来给JavaScript减肥。 2. 减少文件数量 a. 减少页面上引用的文件数…

java 英文字符串排序_英文字符串排序算法

编程工作偶尔会遇到一些不常见问题需要处理&#xff0c;学编程处理问题也难免需要熟悉一些算法以前学习的时候就遇到过一个看似简单的排序算法问题&#xff0c;当时的解决办法是我没有用过的&#xff0c;在此记录一下问题 - 英文字符串排序如下几个英文单词或者字母apple&#…

23种设计模式之一(单例模式)

单例模式&#xff1a;&#xff08;确保一个类最多只有一个实例&#xff0c;并提供一个全局访问点&#xff09; 存在的意义&#xff1a; 有些对象我们只需要一个&#xff0c;如&#xff1a;线程池、缓存、硬件设备等&#xff1b;如果使用多个实例就会造成冲突、不一致等&#xf…

mysql监控

1、查看mysql所有线程&#xff1a;show full processlist;SHOW PROCESSLIST显示哪些线程正在运行。如果您有SUPER权限&#xff0c;即root权限之类&#xff0c;您可以看到所有线程。否则&#xff0c;您只能看到您自己的线程&#xff08;也就是&#xff0c;与您正在使用的MySQL账…

vSphere ESXi主机配置iSCSI存储

vSphere ESXi主机配置iSCSI存储 vSphere ESXi主机一般连接的存储类型有光纤存储、iSCSI存储两类。本次案例为iSCSI存储连接ESXi主机的配置。 案例环境&#xff1a;ESXi主机通过以太网络来连接iSCSID存储&#xff0c;并获取到存储空间&#xff0c;拓扑如下&#xff1a; 首先完成…