UOJ132 【NOI2015】小园丁与老司机】的更多相关文章

4200: [Noi2015]小园丁与老司机 Time Limit: 20 Sec  Memory Limit: 512 MBSec  Special JudgeSubmit: 106  Solved: 58[Submit][Status][Discuss] Description 小园丁 Mr. S 负责看管一片田野,田野可以看作一个二维平面.田野上有 nn 棵许愿树,编号 1,2,3,…,n1,2,3,…,n,每棵树可以看作平面上的一个点,其中第 ii 棵树 (1≤i≤n1≤i≤n) 位于坐…
[UOJ#132][BZOJ4200][luogu_P2304][NOI2015]小园丁与老司机 试题描述 小园丁 Mr. S 负责看管一片田野,田野可以看作一个二维平面.田野上有 \(n\) 棵许愿树,编号 \(1,2,3, \cdots , n\),每棵树可以看作平面上的一个点,其中第 \(i\) 棵树 \((1 \le i \le n)\) 位于坐标 \((x_i, y_i)\).任意两棵树的坐标均不相同. 老司机 Mr. P 从原点 \((0,0)\) 驾车出发,进行若干轮行动.每一轮,…
[BZOJ2839][Noi2015]小园丁与老司机 Description 小园丁 Mr. S 负责看管一片田野,田野可以看作一个二维平面.田野上有 nn 棵许愿树,编号 1,2,3,…,n1,2,3,…,n,每棵树可以看作平面上的一个点,其中第 ii 棵树 (1≤i≤n1≤i≤n) 位于坐标 (xi,yi)(xi,yi).任意两棵树的坐标均不相同. 老司机 Mr. P 从原点 (0,0)(0,0) 驾车出发,进行若干轮行动.每一轮,Mr. P 首先选择任意一个满足以下条件的方向: 为左.右.…
LINK:小园丁与老司机 苦心人 天不负 卧薪尝胆 三千越甲可吞吴 AC的刹那 真的是泪目啊 很久以前就写了 当时记得特别清楚 写到肚子疼.. 调到胳膊疼.. ex到根不不想看的程度. 当时wa了 一直不知道哪里错了 今天又调了一下午 调出来了. 思路是这样的: 先进行分层dp dp的时候我是反着dp的 因为无论是考虑后续的方案输出还是建图. 从那些终点到起点进行dp对后续的处理带来非常大的便利. 定义\(f_i\)表示由上一层转移过来的最大值.\(w_i\)表示由同层/上一层转移过来的最大值.…
题目链接 uoj132 题解 真是一道大码题,,,肝了一个上午 老司机的部分是一个\(dp\),观察点是按\(y\)分层的,而且按每层点的上限来看可以使用\(O(nd)\)的\(dp\),其中\(d\)是每层的点数 我们设\(f[i]\)表示从\(i\)点进入该层,直到走完为止所经过的最多点的数量,我们把原点也看做一棵树,计算答案时减去即可 转移只需枚举出点\(j\),假如\(i\)在\(j\)的左侧,那么\(j\)及其左侧的点都能被经过,只需从\(i\)出发先走到左端点,再一直往右走到\(j\…
https://www.lydsy.com/JudgeOnline/problem.php?id=4200 https://www.luogu.org/problemnew/show/P2304 http://uoj.ac/problem/132 小园丁 Mr. S 负责看管一片田野,田野可以看作一个二维平面.田野上有 nn 棵许愿树,编号 1,2,3,…,n1,2,3,…,n,每棵树可以看作平面上的一个点,其中第 ii 棵树 (1≤i≤n1≤i≤n) 位于坐标 (xi,yi)(xi,yi).任…
Time Limit: 20 Sec  Memory Limit: 512 MBSec  Special Judge Description 小园丁 Mr. S 负责看管一片田野,田野可以看作一个二维平面.田野上有 nn 棵许愿树,编号 1,2,3,-,n1,2,3,-,n,每棵树可以看作平面上的一个点,其中第 ii 棵树 (1≤i≤n1≤i≤n) 位于坐标 (xi,yi)(xi,yi).任意两棵树的坐标均不相同. 老司机 Mr. P 从原点 (0,0)(0,0) 驾车出发,进行若干轮行动.每一…
来自FallDream的博客,未经允许,请勿转载,谢谢. 小园丁 Mr. S 负责看管一片田野,田野可以看作一个二维平面.田野上有n棵许愿树,编号1,2,3,…,n,每棵树可以看作平面上的一个点,其中第 i棵树 (1≤i≤n) 位于坐标(xi,yi).任意两棵树的坐标均不相同.老司机 Mr. P从原点(0,0)驾车出发,进行若干轮行动.每一轮,Mr.P首先选择任意一个满足以下条件的方向:    1.为左.右.上.左上45∘.右上45∘五个方向之一.    2.沿此方向前进可以到达一棵他尚未许愿过…
题目描述 小园丁 Mr. S 负责看管一片田野,田野可以看作一个二维平面.田野上有 nn 棵许愿树,编号 1,2,3,…,n1,2,3,…,n,每棵树可以看作平面上的一个点,其中第 ii 棵树 (1≤i≤n1≤i≤n) 位于坐标 (xi,yi)(xi,yi).任意两棵树的坐标均不相同. 老司机 Mr. P 从原点 (0,0)(0,0) 驾车出发,进行若干轮行动.每一轮,Mr. P 首先选择任意一个满足以下条件的方向: 为左.右.上.左上 45∘45∘ .右上 45∘45∘ 五个方向之一. 沿此方…
题目: 洛谷 2304 LOJ 2134 (LOJ 上每个测试点有部分分) 写了快一天 -- 好菜啊 分析: 毒瘤二合一题 -- 注意本题(及本文)使用 \(x\) 向右,\(y\) 向上的「数学坐标系」,而不是 \(x\) 向下,\(y\) 向右的所谓「OI 坐标系」.「同一行」指 \(y\) 相同,「同一列」指 \(x\) 相同. 老司机 注意,只能在 没有经过的 树下转向,并且每棵树只能访问一次. 第一反应是 \(f_{u}\) 表示从点 \(u\) (树 \(u\) )出发能走到的最多的…
题目大意 给出平面直角坐标系中\(n\)(\(n\leq5*10^4\))个点,第\(i\)个点的坐标是\(x_i,y_i(|x_i|\leq10^9,1\leq y_i\leq10^9)\),只有朝正上方.正左方.正右方.右上方45°.左上方45°走的路,只能在给出的点处拐弯 解决两个问题: 1.从点\((0,0)\)出发,只能在没走到过的点处拐弯,求最多能走多少个给出的点并输出方案 2.从点\((0,0)\)或者任意一个给出的点出发,不能朝正左方.正右方走,而且只能走被一种第1问的最优方案包…
http://uoj.ac/problem/132 这道题前2行的输出比较容易,就是简单的动态规划,然后第3行就是比较少见的有上下界的最小流. 前2行比较容易,我们讨论一下第3行的解法吧. 比如第1个样例: 我们先找出那些可能成为最优解的非平行边: Case11~14做法: 这里保证存在一种最优解,使得轧路机不重复经过同一路面. 我们求出每个点i的入度in[i]和出度out[i]. 然后就是∑max(in[i]-out[i],0). 我们可以这样想, 当in[i]>out[i]时,必定有in[i…
看,这是一个传送门 Part A 把坐标离散化,按照纵坐标为第一关键字,横坐标为第二关键字排序 以$f_i$记录来到$i$这个点最多经过点数,那么答案显而易见就是$f_i$加上该层点数 转移的话就是分三种来到这个点的方案 对于每一种考虑: 1)直接上来 2)通过左边某个点上来,把左边所有点都走完 3)通过右边某个点上来,把右边所有点都走完 然后对于每一层维护从左边来的最大值和从右边来的最大值即可 Part B 从任意一个满足答案的结束点往开始点沿任意有效路径走即可 Part C 很显然,找到所有…
一看上去就是一个二合一的题.那么先解决第一部分求最优路线(及所有可能在最优路线上的线段). 由于不能往下走,可以以y坐标作为阶段.对于y坐标不同的点,我们将可以直接到达的两点连边,显然这样的边的个数是线性的.如果是右上方向那么横纵坐标差相等,左上则和相等,可以直接排序搞定. y坐标相同的点(下称一排),如果某个靠左的点向靠右的点转移,那么这个靠右的点的左边所有点都可以走到.可以先将这一排点用之前的点更新完毕,求出某个点不往左右走的最大值,然后用左边的更新右边,右边的更新左边,每次记录一下最大值就…
由于每行点的个数不超过1000,所以行内DP可以使用$O(n^2)$算法. 先找到每个点所能直接到达的所有点(x,y,x+y或x-y相同),用排序实现. 第一问:以行为阶段,对于每行,暴力枚举最有路径在这行上的起点和终点,g[x]记录当这行的最优路径以x为起点时,终点应在什么位置,f[x]记录走到x且这一行以x为起点,之后最多还能走到多少个点. 第二问:由于当一行的起点和终点都确定后,决策也是确定的,故只需要沿着DFS一遍即可得到最优路径. 第三问:先考虑怎么找到所有可能在最优路径上的边,同样暴…
传送门 这该死的码农题…… 题解在这儿->这里 //minamoto #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<queue> #define inf 0x3f3f3f3f using namespace std; #define getc() (p1==p2&&(p2=(p1=buf)+fread(bu…
洛谷上有个点死活卡不过去,不知道是哪里写丑了orz 参考:https://www.cnblogs.com/ditoly/p/BZOJ4200.html 从上往下dp,设f为不向左右走直接上去的值,g为先向左右走一步再上去,至于找每个方向上的点,分别按x,y,x+y,x-y排序然后二分即可 然后建出左上右上的图,跑有上下界最小流即可 // luogu-judger-enable-o2 #include<iostream> #include<cstdio> #include<cs…
[BZOJ4200][NOI2015]小园丁与老司机(动态规划,网络流) 题面 BZOJ权限题,洛谷链接 题解 一道二合一的题目 考虑第一问. 先考虑如何计算六个方向上的第一个点. 左右上很好考虑,只需要按照\(x\)或者\(y\)轴排序就行了. 对于\(45\)度的斜角,两点一定在同一条直线上. 这条直线是\(x+y=b\)或\(x-y=b\) 所以按照\(x+y\)和\(x-y\)的值分类考虑,再按照顺序在\(x\)轴扫一遍就可以找到了. 考虑如何计算第一问的答案,我们发现\(y\)轴是单调…
「NOI2015」小园丁与老司机 要不是这道码农题,去年就补完了NOI2015,其实两问都比较simple,但是写起来很恶心. 先解决第一问,记 \(dp[i]\) 表示老司机到达第 \(i\) 棵树时能许愿的最多的树的数量,考虑没有左右方向的决策时,转移是个DAG,直接做. 对于左右方向的决策,会发现最优解一定是以下两种中的一种. 对于点 \(x\) ,从左边的某个点 \(y\) 进入这一行,然后先向左走走到最左边的一棵树,然后再调头走到点 \(x\) . 对于点 \(x\) ,从右边的某个点…
[LOJ 2134][UOJ 132][BZOJ 4200][NOI 2015]小园丁与老司机 题意 给定平面上的 \(n\) 个整点 \((x_i,y_i)\), 一共有两个问题. 第一个问题是从原点 \((0,0)\) 出发, 在只能向←↖↑↗→五个方向中有未到达的点的方向走且在没有到达一个点的时候不能中途转弯的情况下最多能到达的点数, 并输出一种可行方案. 第二个问题是如果用若干可以从任意点出发但是只能向↖↑↗方向沿着所有可能出现在最优解的直线上走的压路机将所有可能出现在最优解上的边都走过…
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/转载请注明出处,侵权必究,保留最终解释权! 题目链接:UOJ132 正解:DP+上下界网络流 解题报告: 第一.二问是一起的,DP一遍可以解决. 具体而言,f[i]记录到达i的最优值,g[i]记录前驱结点. 按y分层,不同层之间直接转,左上右上的一条直线上的点x.y坐标的和或者差相等,map保存最后…
$n \leq 5e4$个平面上的点,从原点出发,能从当前点向左.右.上.左上或右上到达该方向最近的给定点.问三个问:一.最多经过多少点:二.前一问的方案:三.其所有方案种非左右走的边至少要开几辆挖掘机走完,挖掘机能从任意点出发,走路方式跟上面一样. 前两问: 纵坐标是增的可在不同层之间直接dp.同层的话,如果从左边的点x到一个右边的点y,那最优情况是x往左走,走到不能走再往右,直到y:从右边的点走到左边的点同理.dp后记一下前驱可以回答第二问.至于由谁转移过来,可以用数据结构存一下$y$.$y…
我的妈呀,这码农神题...... 第一问是个DP,要记录方案.先把纵向的转移建图.发现可以按照y坐标来划分阶段,每一层vector存一下,用前后缀最大值来转移. 第二问考虑所有可能成为最优方案的边.从终点倒推可以保证每条边都能到起点,而从起点出发就不一定能保证.这些边拿去网络流建图,然后最小流. 注意第二问找边的时候,每一层的点其实可以视作两个,经过同层转移的和未经过的.这两者不可混为一谈. 最小流先跑S -> T然后t -> s退流的话,要用当前弧优化,否则会被最后一个数据卡成n². #in…
这几天,新入职的小MM提议“老司机”们把自己这些年的软件测试工作经验跟大家分享一下,让新同学学习学习,利用空闲时间我整理了一些,可能不全,勉强看看,这也算是对自己这些年的工作总结. 测试阶段划分 1.单个模块功能测试时间相对较长,但每一个项目都应该有专门的集成测试阶段,并且应该不止进行一轮:每一轮集成测试,应该都有自己的目的,比如第一轮集成测试,是根据集成测试要点验证整体功能情况:第二轮集成测试是回归测试:第三轮集成测试是交叉测试.每个项目应进行几轮集成测试,根据项目实际情况而定,而决定的因素多…
作为一名Android世界的搬运工,每天搬砖已经够苦够累了,走在坑坑洼洼的道路一不小心就掉坑里了. SDK常用工具类 Android SDK中本身就拥有很多轮子,熟悉这些轮子,可以提高我们的搬砖效率. android.text.TextUtils 字符串操作常用方法:isEmpty() ,join(),split()等 if(!TextUtils.isEmpty(text)){ //do something } android.webkit.URLUtil 链接相关常用方法:isHttpUrl(…
文 / 腾讯 吴双 前言 优测小优 有话说: 腾讯优测只有应用测试大神?不不不,我们还有各种研发大牛! *** vim 是一种信仰,我自从2004年有了这个信仰,已经12个年头了.本文介绍了学习vim的方法以及一些vim常用的插件让大家对vim的功能有一个初步的认识. vim与神的编辑器emacs的争论从来没有停止过.其实两种编辑器的设计哲学完全不同,风格迥异.vim的特点是Composability,Emacs的特点是Extensibility.vim使用键序列输入,Emacs则经常使用组合键…
前言 上一篇老司机实战Windows Server Docker:1 初体验之各种填坑介绍了安装docker服务过程中的一些小坑.这一篇,我们来填一些稍大一些的坑:如何docker化一个现有的iis应用. 问题分析 听说Windows支持原生docker了,大家一定都很兴奋.然而,大家想过没有,Windows Server Docker最适合什么场景呢?部署.NET Core应用?为什么不选择Linux下的docker?正常的决策者脑袋被门挤了才会花钱额外买Windows Server的lice…
一提起程序员,首先想到的一定是"码农",对,我们是高产量的优质"码农",我们拥有超跃常人的逻辑思维以及不走寻常路的分析.判别能力,当然,我们也有良好的编码规范,毕竟是靠代码来养家糊口,最怕半路接到一个项目或是项目增加新功能,发现之前写的注释非常不全,代码也非常的不整洁,有些地方写的''窝七八烂的,看着很不舒服. 代码编码规范的都会起到什么作用? 1.好的编码规范,可以减少一个软件的维护成本,并且几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护: 2…
# 起因 有个朋友叫我帮忙写个爬虫,爬取javbus5上面所有的详情页链接,也就是所有的https://www.javbus5.com/SRS-055这种链接, 我一看,嘿呀,这是司机的活儿啊,我绝对不能辱没我老司机的名声(被败坏了可不好),于是开始着手写了 # 构思 爬虫调度启动程序crawler.py 页面下载程序downloader.py 页面解析程序pageparser.py 数据库入库与去重管理程序controler.py 爬取入口为第一页,当页面中存在下一页的超链接继续往下爬,这是个…
APK作为Android系统安装包的文件格式,一直备受广大用户的关注,APK越是臃肿肥大,在下载安装过程中,它们耗费的流量会越多,安装等待时间也会越长:对于产品本身,意味着下载转化率会越低(因为竞品中,用户有更多机会选择那个体验最好,功能最多,性能最好,包最小的):对于研发来说,是一种优化改进技术的机会.今天老司机将带领大家一起探讨下APK脂肪含量最高的图片资源瘦身套路.  套路一:查找并清除未使用图片资源 通常使用AndroidStudio中自带的Lint工具来帮助我们查找未使用的图片资源,在…