Luogu

Description

Sol

1.发现对于每个城市,小A和小B的选择是固定的,可以预处理出来,分别记为ga[],gb[]

2.并且,只要知道了出发城市和出发天数,那么当前城市和小A,小B各行驶的路程也是一定的,同样可以分别预处理出来

具体怎么预处理:

1.其实就是"邻值查找"

    简单讲一下,就是把所有城市的高度都存进set排好序,然后ga[i]一定是在set里与h[i]相邻的中最近的的,gb[i]是与h[i]相邻的中次近的

2.倍增优化:

 1) 设$p[i][j][k]$表示从城市j出发,k第一个开车(k=0表示A,k=1表示B),已经行驶了2i天所到达的城市

    $p[0][j][1]=ga[j],p[0][j][0]=gb[j] $ 

    $i=1时,p[1][j][k]=p [0] [p[0][j][k]] [1-k]$

    $i>1时,p[i][j][k]=p[i-1] [p[i-1][j][k]][k]$

  2)设$a[i][j][k]$表示......小A行驶的路程

    $a[0][j][0]=dis(j,ga[j]),a[0][j][1]=0$

    $i=1时,a[1][j][k]=a[0][j][k]+a[0][p[0][j][k]][1-k]$

    $i>1时,a[i][j][k]=a[i-1][j][k]+a[i-1][p[i-1][j][k]][k]$

  3)设$b[i][j][k]$表示......小B....

    和小A类似...

询问1:枚举出发城市,倒序枚举2的整数次幂保证总路程小于等于X

询问2:直接倒序枚举2的整数次幂保证总路程小于等于X即可

Code

太难写了咕咕咕$qwq$

随机推荐

  1. hihoCoder#1239 Fibonacci

    #1239 : Fibonacci 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Given a sequence {an}, how many non-empty s ...

  2. 《C语言深度解剖》学习笔记之预处理

    第3章 预处理 1.下面两行代码都是错的.因为注释先于预处理指令被处理,当这两行被展开成“//……”和“/*……*/”时,注释已处理完毕,所以出现错误 #define BSC // #define B ...

  3. 2018-8-10-WPF-修改按钮按下的颜色

    title author date CreateTime categories WPF 修改按钮按下的颜色 lindexi 2018-08-10 19:16:53 +0800 2018-03-15 2 ...

  4. 解决移动端1px边框问题的几种方法

    1.边框粗细原因 在移动端下设置border为1px,在某些设备上看比1px粗. 这些由于不同的手机有不同的像素密度.在window对象中有一个devicePixelRatio属性,他可以反应css中 ...

  5. dev stg prd 开发 测试 生产环境

    dev development 开发环境stg stage 测试环境prd product 线上环境

  6. ng-model 将时间戳转换为标准时间

      html部分 <div class="form-group loginCon1"> <label class="col-sm-2 control-l ...

  7. 2019年CPS-J复赛题解

    题目涉及算法: 数字游戏:字符串入门题: 公交换乘:模拟: 纪念品:完全背包: 数字游戏:广搜/最短路. 数字游戏 题目链接:https://www.luogu.com.cn/problem/P566 ...

  8. iptables一个包过滤防火墙实例

    环境:redhat9 加载了string time等模块 eth0 接外网──ppp0 eth1 接内网──192.168.0.0/24 #!/bin/sh # modprobe ipt_MASQUE ...

  9. tp5 字段验证表中是否唯一

    namespace app\ps\validate; /** * 客户分类验证器 */ class CustomerCategory extends PsBase { // 验证规则 protecte ...

  10. [转载] linux find 命令

    转载自 http://www.jb51.net/os/RedHat/1307.html Linux下find命令在目录结构中搜索文件,并执行指定的操作. Linux下find命令提供了相当多的查找条件 ...