此题未通过 [ 老帅哥 ] 认证。

ZJ一下:

T1,明显是二分答案+$dij/SPFA$

T2,没看懂题。

T3,打了一个$\Theta(N^2)$暴力。

事实上……

T1,T2死了。

T1中

每次可以向上下左右四个方向走一格,走一格用时1 秒。

你有一个机器,使得每次在上下移动一步时,用时为k 秒。

你确定向上下不可以走么(一定要用机器???)

明明可以向上下左右四个方向走一格,走一格用时1

不管了,语文问题。

最后在作者××巨佬的自动防AK系统的作用下。

47
Miemeng 0

02:58:59
0

02:58:59
30

02:59:00
30

02:59:00

我祝福你,作者

%%%ZZD

nmsl

题解:

T1

一大句话题意:

有一个网格图,有格子不能走,向上下走需要$k$秒,向左右走需要$1$秒,问从$(x1,y1)$到$(x2,y2)$的最短时间为$s$时$k$的值。

#include <iostream>
#include <cstring>
#include <cstdio>
#include <queue>
#define LF double
#define N 111 using namespace std; const LF eps=1e-5;
int mp[N][N];
int lines,cols;
int stx,sty,fix,fiy;
LF targ,dis[N][N];
bool is_v[N][N];
struct POINT{
int x,y;
double dis;
POINT(){}
POINT(int a,int b,double c):x(a),y(b),dis(c){}
friend bool operator > (const POINT &a,const POINT &b){
return a.dis>b.dis;
}
};
priority_queue<POINT,vector<POINT>,greater<POINT> >q;
inline bool inmp(int x,int y){
return x>=1&&x<=lines&&y>=1&&y<=cols&&mp[x][y]==0;
}
LF check(LF ud){
memset(is_v,0,sizeof is_v);
for(int i=1;i<=lines;i++)
for(int j=1;j<=cols;j++)
dis[i][j]=1e10;
dis[stx][sty]=0;
q.push(POINT(stx,sty,0.0));
while(!q.empty()){
int fx=q.top().x,fy=q.top().y;
// cout<<fx<<" "<<fy<<" "<<mp[fx][fy]<<" "<<dis[fx][fy]<<endl;
q.pop();
if(is_v[fx][fy])continue;
is_v[fx][fy]=1;
if(inmp(fx+1,fy)&&dis[fx+1][fy]>dis[fx][fy]+ud){//puts("A");
dis[fx+1][fy]=dis[fx][fy]+ud;
q.push(POINT(fx+1,fy,dis[fx+1][fy]));
}
if(inmp(fx-1,fy)&&dis[fx-1][fy]>dis[fx][fy]+ud){//puts("B");
dis[fx-1][fy]=dis[fx][fy]+ud;
q.push(POINT(fx-1,fy,dis[fx-1][fy]));
}
if(inmp(fx,fy+1)&&dis[fx][fy+1]>dis[fx][fy]+1.0){//puts("C");
dis[fx][fy+1]=dis[fx][fy]+1.0;
q.push(POINT(fx,fy+1,dis[fx][fy+1]));
}
if(inmp(fx,fy-1)&&dis[fx][fy-1]>dis[fx][fy]+1.0){//puts("D");
dis[fx][fy-1]=dis[fx][fy]+1.0;
q.push(POINT(fx,fy-1,dis[fx][fy-1]));
}
}
return dis[fix][fiy];
}
int main(){
// freopen("1.in" ,"r",stdin);
// freopen("maze.in" ,"r",stdin);\
freopen("maze.out","w",stdout);
scanf("%d%d%d%d%d%d",&lines,&cols,&stx,&sty,&fix,&fiy);
for(int i=1;i<=lines;i++)
for(int j=1;j<=cols;j++)
scanf("%d",&mp[i][j]);
scanf("%lf",&targ);
LF l=0,r=lines*cols;
while(r-l>eps){
LF mid=(l+r)/2;
// cout<<l<<" "<<r<<" "<<check(mid)<<endl;
if(check(mid)>targ) r=mid;
else l=mid;
}
printf("%.3lf\n",l);
// cout<<clock()<<endl;
}

T2

T3

19-10-25-G-悲伤的更多相关文章

  1. 程序员的 Ubuntu 19.10 配置与优化指南

    原文地址:程序员的 Ubuntu 19.10 配置与优化指南 0x00 环境 CPU: Intel Core i9-9900k GPU: GeForce RTX 2070 SUPER RAM: DDR ...

  2. 背水一战 Windows 10 (25) - MVVM: 通过 x:Bind 实现 MVVM(不用 Command)

    [源码下载] 背水一战 Windows 10 (25) - MVVM: 通过 x:Bind 实现 MVVM(不用 Command) 作者:webabcd 介绍背水一战 Windows 10 之 MVV ...

  3. /proc/interrupts 统计2.6.38.8与3.10.25差异

    eth4进,eth5出 linux-3.10.25 67:          2          3          2          3   PCI-MSI-edge     eth468: ...

  4. CentOS安装NodeJS v0.10.25 + Express

    安装必需组件 yum -y install gcc make gcc-c++ openssl-devel wget cd ~wget http://nodejs.org/dist/v0.10.25/n ...

  5. 10.25 正睿停课训练 Day9

    目录 2018.10.25 正睿停课训练 Day9 A 数独(思路 DP) B 红绿灯(最短路Dijkstra) C 轰炸(计算几何 圆并) 考试代码 B C 2018.10.25 正睿停课训练 Da ...

  6. Ubuntu 19.10 发布 | 云原生生态周报 Vol. 24

    作者 | 木苏.进超.冬岛.元毅.心水.衷源 业界要闻 1.云原生编程语言 Pulumi 1.0 pulumi ,一款中立的开源云开发平台,Pulumi 支持多语言.混合云环境.完全可扩展.初期支持 ...

  7. [Linux] 在 Ubuntu 19.10 上开启 SSH 服务并允许远程登录

    在 Ubuntu 19.10 上安装 SSH,并开启服务 0.检查并确认系统当前是否已安装SSH: sudo ps -e | grep ssh 如果只有 ssh-agent 说明 ssh-server ...

  8. [Linux] 树莓派 4B 安装 Ubuntu 19.10 (Eoan Ermine) IOT 版

    硬件:Raspberry Pi 4B系统:Ubuntu 19.10 (Eoan Ermine) for IOT官网:https://ubuntu.com/download/iot/raspberry- ...

  9. Java习题10.25

    Java习题10.25 1. 实际上这道题考查的是两同两小一大原则: 方法名相同,参数类型相同 子类返回类型小于等于父类方法返回类型, 子类抛出异常小于等于父类方法抛出异常, 子类访问权限大于等于父类 ...

  10. Ubuntu 19.10 安装 jupyter

    安装pip3 ubuntu 19.10 已经没有python了,取代的是python3. 执行sudo apt install python3-pip安装pip3 安装jupyter 执行sudo p ...

随机推荐

  1. (转)自定义ClassLoader ----可以加载第三方jar包

    package com.classloader.util; import java.io.IOException; import java.net.MalformedURLException; imp ...

  2. tp5 mkdir() 没有权限

  3. JAVA基础_泛型

    什么是泛型 泛型是提供给javac编译器使用的,可以限定集合中的输入类型,让编译器挡住源程序中的非法输入,编译器编译带类型说明的集合时会去除掉"类型"信息,是程序的运行效率不受影响 ...

  4. dockerfile自动创建docker镜像

    特点:类似于ansible 剧本,大小几kb 而,手动做的镜像,要几百M,甚至上G ,传输不方便 dockerfile 支持自定义容器的初始命令 dockerfile只要组成部分: 基础镜像信息 FR ...

  5. uoj#311 【UNR #2】积劳成疾

    题目 考虑直接顺着从\(1\)填数填到\(n\)发现这是在胡扯 所以考虑一些奇诡的东西,譬如最后的答案长什么样子 显然某一种方案的贡献是一个\(\prod_{i=1}^nw_i^{t_i}\)状物,\ ...

  6. bigcolorpicker 颜色拾取器插件——例

    参考:http://bigui4.sinaapp.com/picker/colorpicker.html 效果: html: <!DOCTYPE html> <html> &l ...

  7. 使用Flume+Kafka+SparkStreaming进行实时日志分析

    每个公司想要进行数据分析或数据挖掘,收集日志.ETL都是第一步的,今天就讲一下如何实时地(准实时,每分钟分析一次)收集日志,处理日志,把处理后的记录存入Hive中,并附上完整实战代码 1. 整体架构 ...

  8. printk 函数消息是如何记录的

    printk 函数将消息写入一个   LOG_BUF_LEN 字节长的环形缓存, 长度值从 4 KB 到 1 MB, 由配置内核时选择. 这个函数接着唤醒任何在等待消息的进程, 就是说, 任何在系统 ...

  9. 警告(alert 消息对话框) 如果你不点击“确定”,就不能对网页做任何操作,这个小窗口就是使用alert实现的

    警告(alert 消息对话框) 我们在访问网站的时候,有时会突然弹出一个小窗口,上面写着一段提示信息文字.如果你不点击"确定",就不能对网页做任何操作,这个小窗口就是使用alert ...

  10. 阿里重磅开源首款自研科学计算引擎Mars,揭秘超大规模科学计算

    日前,阿里巴巴正式对外发布了分布式科学计算引擎 Mars 的开源代码地址,开发者们可以在pypi上自主下载安装,或在Github上获取源代码并参与开发. 此前,早在2018年9月的杭州云栖大会上,阿里 ...