BZOJ2143: 飞飞侠】的更多相关文章

2143: 飞飞侠 题意: 给出两个 n ∗ m 的矩阵 A,B,以及 3 个人的坐标 在 (i, j) 支付 Ai,j 的费用可以弹射到曼哈顿距离不超过 Bi,j 的位置 问三个人汇合所需要的最小总费用 其中 0 < n,m < 150,0 < A < 1000,0 < B < 10^9. 分层图最短路也好,用dijkstra/spfa做dp也罢,反正就是辣么一回事! 把距离等效成油量之类的东西,单独拿出一维 \(f_{i,j,k}\)表示从起点到(i,j),剩下k个…
Time Limit: 50 Sec Memory Limit: 259 MB Description 飞飞国是一个传说中的国度,国家的居民叫做飞飞侠.飞飞国是一个N×M的矩形方阵,每个格子代表一个街区.然而飞飞国是没有交通工具的.飞飞侠完全靠地面的弹射装置来移动.每个街区都装有弹射装置.使用弹射装置是需要支付一定费用的.而且每个弹射装置都有自己的弹射能力.我们设第i行第j列的弹射装置有Aij的费用和Bij的弹 射能力.并规定有相邻边的格子间距离是\(1\).那么,任何飞飞侠都只需要在(i,j)…
传送门 最短路好题. 考虑对每个二维坐标建立一个高度属性. 这样每次如果在点(i,j,0)(i,j,0)(i,j,0)只能选择花费bi,jb_{i,j}bi,j​跳向(i,j,ai,j)(i,j,a_{i,j})(i,j,ai,j​),然后如果当前状态的高度不是000就可以花费000的代价选择让高度下降一个,同时向周围四格走一步或者原地不动. 然后跑三次最短路就可以了. 代码: #include<bits/stdc++.h> using namespace std; typedef long…
http://www.lydsy.com/JudgeOnline/problem.php?id=2143 分层图最短路 把能够弹跳的曼哈顿距离看做能量 dp[i][j][k]表示在(i,j)位置,还有能量k的最少花费 弹跳的曼哈顿距离增加1,能量减1 当能量减为0时,花费费用充满能量 #include<queue> #include<cstdio> #include<iostream> #define N 151 typedef long long LL; const…
链接 题解 首先很容易想到对每个点暴力跑Dijkstra,但是这样边数是 \(N^4\) 的,考虑优化 发现每次松弛的时候,都要把整个地图扫一遍,每个节点都要重复扫很多次,如果我们在一个点不会再被更新的时候,用并查集跳过去,那么就可以降低复杂度 如果将点插入堆时,比较 \(dis[i]+w[i]\) 而不是 \(dis[i]\) ,这样可以保证一个点被更新后不会再一次被更新. 现在证明上述结论,以及这样做仍然可以得到正确的最短路. 假设点 \(x\) 已经得到了最短路,证明用该点更新的 \(y\…
题目: Description 飞飞国是一个传说中的国度,国家的居民叫做飞飞侠.飞飞国是一个N×M的矩形方阵,每个格子代表一个街区.然而飞飞国是没有交通工具的.飞飞侠完全靠地面的弹射装置来移动.每个街区都装有弹射装置.使用弹射装置是需要支付一定费用的.而且每个弹射装置都有自己的弹射能力.我们设第i行第j列的弹射装置有Aij的费用和Bij的弹射能力.并规定有相邻边的格子间距离是1.那么,任何飞飞侠都只需要在(i,j)支付Aij的费用就可以任意选择弹到距离不超过Bij的位置了.如下图 (从红色街区交…
Description 飞飞国是一个传说中的国度,国家的居民叫做飞飞侠.飞飞国是一个N×M的矩形方阵,每个格子代表一个街区.然而飞飞国是没有交通工具的.飞飞侠完全靠地面的弹射装置来移动.每个街区都装有弹射装置.使用弹射装置是需要支付一定费用的.而且每个弹射装置都有自己的弹射能力.我们设第i行第j列的弹射装置有Aij的费用和Bij的弹射能力.并规定有相邻边的格子间距离是1.那么,任何飞飞侠都只需要在(i,j)支付Aij的费用就可以任意选择弹到距离不超过Bij的位置了.如下图  (从红色街区交费以后…
飞飞国是一个N×M的矩形方阵,每个格子代表一个街区.然而飞飞国是没有交通工具的.飞飞侠完全靠地面的弹射装置来移动.每个街区都装有弹射装置.使用弹射装置是需要支付一定费用的.而且每个弹射装置都有自己的弹射能力.我们设第i行第j列的弹射装置有Aij的费用和Bij的弹射能力.并规定有相邻边的格子间距离是1.那么,任何飞飞侠都只需要在(i,j)支付Aij的费用就可以任意选择弹到距离不超过Bij的位置了.现在的问题很简单.有三个飞飞侠,分别叫做X,Y,Z.现在它们决定聚在一起玩,于是想往其中一人的位置集合…
题目戳这里 有问题可以在博客@ 应该还会有人来看吧,嘻嘻 正题: 题目大意: 题目很清楚,就是一个点有一定的范围,会有一定的花费 求三个点中的任意两个点到另一个点的最小花费 (麻麻教育我千万读好题目(>_<)~) 思路 很容易想到跑最短路,但是建边的话,根本存不下来 所以我们直接存点的坐标,然后直接遍历范围内每个点就好了(遍历是看图找规律吧,反正我动脑子看不出来) 跑一边最短路就好了 bzoj完全没问题,这里指luogu spfa?他好像又死了(o2水过) 堆优化迪杰斯特拉是个好东西 我是先写…
#include<cstdio> #include<iostream> #include<queue> #define inf 1000000000 #define M 155 using namespace std; ]={,,-,,},yy[]={,,,,-}; *M],d[M][M][*M]; char ch; int ans=inf; struct data { int x,y,w,w1; }; bool operator>(data a,data b)…
BZOJ 2143 新技能:并查集优化最短路. 暴力最短路是$O(n^4)$的,然后拿个线段树优化一下连边就$O($能过$)$了. 但是这样都太慢了. 我们考虑一个点如果之前被更新过了,那么之后就不会被更新了,所以我们只要能跳过这个已经被更新过的点,直接去更新没有更新过的点就行了,刚好对应了一个并查集的路径压缩,这样子每一次跳到一个没有更新过的点就是$O(1)$的了. 每一个点拿出来的更新的时候其实是要付出它的点权,所以我们要把$dis_{x, y}  + a_{x, y}$一起丢到堆里去才能保…
不定时更新博客,该博客仅仅是一篇关于最短路的题集,题目顺序随机. 算法思想什么的,我就随便说(复)说(制)咯: Dijkstra算法:以起始点为中心向外层层扩展,直到扩展到终点为止.有贪心的意思. 大部分题用Dij+队列优化都能解决..但有负权边不行哦. Bellman-Ford:反复对边集E中的每条边进行松弛操作. 求含负权图(有负环输出错误提示)的单源最短路径,效率很低,至于对多余松弛的优化就是设置个标记,还是很慢,不如写SPFA. 判断负环:在每次松弛时把每条边都更新一下,若在n-1次松弛…
模板题CF786B Legacy 先说算法 如果需要有n个点需要建图 给m个需要建边的信息,从单点(或区间内所有点)向一区间所有点连边 如果暴力建图复杂度\(mn^2\) 以单点连向区间为例,在n个点上建一颗线段树,叶子节点即为这n个点,每个节点向它的左右儿子连一个权值为0的边,这样我们只要向一个节点连边,也就相当于向它所在的区间每个点都连边了(因为连到这个节点,就能顺着线段树中0边权的路一路走到叶子节点,也就是真正存在的节点) 这样可以用类似与线段树区间查找的方法,以\(logn\)的复杂度向…
目录 2018.10.24 正睿停课训练 Day8 AM A 棒棒糖(组合) B 彩虹糖(思路 博弈) C 泡泡糖(DP) 考试代码 A B C 2018.10.24 正睿停课训练 Day8 AM 期望得分:70+21+xjbDP(好像昨天我也写了一个?->people in despair什么都能写...) 实际得分:75+10+0 比赛链接 A 棒棒糖(组合) 题目链接 倍增LCA的第二部分是没有问题的.第一部分的目的是利用深度差让\(u,v\)跳到同一深度上,但是\(dep[u]\)与\(…
传送门 分析 就是飞飞侠这道题...... 我们可以将这张图建成好几层,每一层可以向下一层的上下左右无代价移动,而对于每个点如果付b[i][j]的代价就可以走到比它高a[i][j]的层上.我们用这种方式优化了建边,然后跑个最短路就行了. 代码 #include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #include<…
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem 10983 18765 Y 1036 [ZJOI2008]树的统计Count 5293 13132 Y 1588 [HNOI2002]营业额统计 5056 13607 1001 [BeiJing2006]狼抓兔子 4526 18386 Y 2002 [Hnoi2010]Bounce 弹飞绵羊 43…
今天是丁明朔老师的讲授~ 图论 图是种抽象结构,这种抽象结构可以表示点与点之间的关系. 最短路: Dijkstra(堆优化) SPFA Floyd 最小生成树: Kruscal 连通性: BFS / DFS Tarian(强连通分量) 其他: 拓扑排序 LCA  啥都不说先看下经典例题: 30pts: 我们枚举两个点,搜索它的所有路径,如果所有路径的比值(将路径上所有的传动比相乘)一样的话那就OK,否则就无解: 更好的做法: 图的一个良好的性质: 图的 dfs 树只有返祖边,没有横叉边,如果有横…
图论 最短路:dijkstra   spfa   floyd 最小生成树:kruskal 连通性:bfs/dfs    tarjan(强连通分量) 其它:拓扑排序    LCA 齿轮: 图的dfs树只有返祖边没有横向边 树边确定了基础的转动比,非树边判定转动比是否可行 Lca Dijkstra Pair第一个存的是源点到这个点当前的最短路,第二个存的是这个点的编号 预处理 把1压进去,1到其他的dis都设置为正无穷 不断地从堆顶弹出元素,直到弹空 对其中的元素进行处理 注意如果已经处理过就不用处…
P6474 [NOI Online #2 入门组] 荆轲刺秦王 bfs+差分+卡常 本来我其实是场内选手,但是因为记错提交时间,晚了半小时才交,交不上了,就自动降级为了场外选手 题面复杂,不简述了 首先定义状态 \(dis(x,y,num1,num2)\) 表示当前坐标是 \((x,y)\),然后用了 \(num1\) 次隐身,\(num2\) 次瞬移,的最短时间 答案就是 \(\min(dis(tx,ty,[0,c1],[0,c2]))\),其中 \((tx,ty)\) 为终点坐标 对于每个坐…
小颖在上一篇一步一步教你用CSS画爱心中已经分享一种画爱心的方法,这次再分享一种方法用css画爱心,并利用snowfall.jquery.js实现爱心满屏飞的效果. 第一步: 利用伪元素before和 :after画两个重叠在一起的长方形,如图所示: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style medi…
大半夜的,先说些废话提提神 如今智能家居已经不再停留在概念阶段,高大上的科技公司都已经推出了自己的部分或全套的智能家居解决方案,不过就目前的现状而言,大多还停留在展厅阶段,还没有广泛的推广起来,有人说最大的问题是标准不统一云云,但在我看来,最大的问题在于两个方面,一个是价格,一个是操作的简便性,技术上的问题并不是阻碍智能家居推广的核心因素. 再来说说最近很火很惹人爱的微软小娜,Cortana.本人作为微软的死忠,作为一名靠.Net混饭的屌丝程序男,自然是有一部撸妹的,并且在小娜推送当天更新了手机…
写在前面 阅读目录: 娓娓道来 Install ASP.NET vNext Command Line Tools 安装 Homebrew 使用 Homebrew,安装 KVM Install Sublime Text 3 Install Sublime Kulture Using the Package Control Plugin Install Package Control Plugin Install Sublime Kulture Samples Test Home 演示项目克隆到本地…
来自:http://sspai.com/27403/ Finder 是 Mac 电脑的系统程序,有的功能类似 Windows 的资源管理器.它是我们打开 Mac 首先见到的「笑脸」,有了它,我们可以组织和使用 Mac 里的几乎所有东西,包括应用程序.文件.文件夹.磁盘以及你网络上的共享磁盘,你同时可以通过它看到丰富的.高质量的文件预览. 接下来笔者将和你分享自己使用 Finder 的一些心得,正所谓 10 个技巧,让 Finder 带你「飞」. 1. 在 Finder 窗口显示更多信息 打开任意…
2002: [Hnoi2010]Bounce 弹飞绵羊 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 9071  Solved: 4652[Submit][Status][Discuss] Description 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏.游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki…
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Pachee { class Program { #region 静态字段 // 关卡数量 ]; // 玩家坐标 ]; // 玩家名称 ]; // 判断玩家是否暂停 ]; #endregion /// <summary> /// 输出游戏头 //…
飞秋发送文件失败这个问题大多数是由防火墙引起的1.检查windows自带的防火墙设置,在左侧的"允许程序通过windows防火墙"查看飞秋是否存在,不存在则增加之,公网.专网都勾选上: 2.如果设置好防火墙还不成,那么检查下你的电脑上是否存在其他防护软件,要么设置你的防护软件防火墙,要么直接关闭它吧.…
当用maven下载依赖包的时候,用官方的镜像库,那慢的真是要死要死的.后来在网上搜到英国的库(也是慢的不行),国内的oschina更是直接没法下载呀.不过还好突然发现阿里云也有镜像库,尝试了以下,速度真是爽到爆,和官方镜像库比,真是一个天上,一个地下.好了,不吐槽了,直接看配置. 就是更改用户下的settings.xml文件,在<mirrors> </mirrors>中加上阿里云的镜像库. <mirrors> <!-- mirror | Specifies a r…
最近实习在做一个跟语音相关的项目,就在度娘上搜索了很多关于语音的API,顺藤摸瓜找到了科大讯飞,虽然度娘自家也有语音识别.语义理解这块,但感觉应该不是很好用,毕竟之前用过百度地图的API,有问题也找不到人帮忙解决(地图开发者群里都是潜水的)...不得不说,科大讯飞在语音这块尤其是中文识别方面做的真心不错,而且Android还支持离线识别. 讯飞官方给的文档内容很详细,在这我就不赘述了.在开发中,由于一些原因需要用到离线识别这块,就学习了一下.讯飞离线识别只支持Android系统,使用时需要安装讯…
转自:http://www.cnblogs.com/ranranblog/p/5845010.html 风口之下,猪都能飞.当今中国股市牛市,真可谓“错过等七年”. 给你一个回顾历史的机会,已知一支股票连续n天的价格走势,以长度为n的整数数组表示,数组中第i个元素(prices[i])代表该股票第i天的股价. 假设你一开始没有股票,但有至多两次买入1股而后卖出1股的机会,并且买入前一定要先保证手上没有股票.若两次交易机会都放弃,收益为0. 设计算法,计算你能获得的最大收益. 输入数值范围:2<=…
核心提示:一直以来,delphi 的网络通讯层都是以indy 为主,虽然indy 的功能非常多,涉及到网络服务的各个方面,但是对于大多数多层服务来说,就是需要一个快速.稳定.高效的传输层.Delphi 的 datasnap主要通过三种实现数据通讯的,一种是大家恨得牙痒痒的indy,另外一种是通过iis 的is... 一直以来,delphi 的网络通讯层都是以indy 为主,虽然indy 的功能非常多,涉及到网络服务的 各个方面,但是对于大多数多层服务来说,就是需要一个快速.稳定.高效的传输层.D…