$n \leq 5e4$个平面上的点,从原点出发,能从当前点向左.右.上.左上或右上到达该方向最近的给定点.问三个问:一.最多经过多少点:二.前一问的方案:三.其所有方案种非左右走的边至少要开几辆挖掘机走完,挖掘机能从任意点出发,走路方式跟上面一样. 前两问: 纵坐标是增的可在不同层之间直接dp.同层的话,如果从左边的点x到一个右边的点y,那最优情况是x往左走,走到不能走再往右,直到y:从右边的点走到左边的点同理.dp后记一下前驱可以回答第二问.至于由谁转移过来,可以用数据结构存一下$y$.$y…
「NOI2015」小园丁与老司机 要不是这道码农题,去年就补完了NOI2015,其实两问都比较simple,但是写起来很恶心. 先解决第一问,记 \(dp[i]\) 表示老司机到达第 \(i\) 棵树时能许愿的最多的树的数量,考虑没有左右方向的决策时,转移是个DAG,直接做. 对于左右方向的决策,会发现最优解一定是以下两种中的一种. 对于点 \(x\) ,从左边的某个点 \(y\) 进入这一行,然后先向左走走到最左边的一棵树,然后再调头走到点 \(x\) . 对于点 \(x\) ,从右边的某个点…
[BZOJ4200][NOI2015]小园丁与老司机(动态规划,网络流) 题面 BZOJ权限题,洛谷链接 题解 一道二合一的题目 考虑第一问. 先考虑如何计算六个方向上的第一个点. 左右上很好考虑,只需要按照\(x\)或者\(y\)轴排序就行了. 对于\(45\)度的斜角,两点一定在同一条直线上. 这条直线是\(x+y=b\)或\(x-y=b\) 所以按照\(x+y\)和\(x-y\)的值分类考虑,再按照顺序在\(x\)轴扫一遍就可以找到了. 考虑如何计算第一问的答案,我们发现\(y\)轴是单调…
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/转载请注明出处,侵权必究,保留最终解释权! 题目链接:UOJ132 正解:DP+上下界网络流 解题报告: 第一.二问是一起的,DP一遍可以解决. 具体而言,f[i]记录到达i的最优值,g[i]记录前驱结点. 按y分层,不同层之间直接转,左上右上的一条直线上的点x.y坐标的和或者差相等,map保存最后…
题目链接 loj#2009. 「SCOI2015」小凸玩密室 题解 树高不会很高<=20 点亮灯泡x,点亮x的一个子树,再点亮x另外的子树, 然后回到x的父节点,点亮父节点之后再点亮父节点的其他子树 所以对于一个节点x,有这样两种情况 x还没有被点亮,那么下一个被点亮的是x的一个儿子 x是叶子节点,那么下一个被点亮的是它的祖先,或者是它祖先的儿子 设f[i][j]表示点亮i之后回到i的第j个祖先的最小花费 设g[i][j]表示点亮i之后回到i的第j个祖先的另一个儿子的最小花费 然后从下到上,由儿…
题目链接 loj#2129. 「NOI2015」程序自动分析 题解 额... 考你会不会离散化优化常数 代码 #include<queue> #include<cstdio> #include<cstring> #include<algorithm> inline int read() { int x = 0,f = 1; char c = getchar(); while(c < '0' || c > '9')c = getchar(); wh…
[LOJ 2134][UOJ 132][BZOJ 4200][NOI 2015]小园丁与老司机 题意 给定平面上的 \(n\) 个整点 \((x_i,y_i)\), 一共有两个问题. 第一个问题是从原点 \((0,0)\) 出发, 在只能向←↖↑↗→五个方向中有未到达的点的方向走且在没有到达一个点的时候不能中途转弯的情况下最多能到达的点数, 并输出一种可行方案. 第二个问题是如果用若干可以从任意点出发但是只能向↖↑↗方向沿着所有可能出现在最优解的直线上走的压路机将所有可能出现在最优解上的边都走过…
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 首先选择任意一个满足以下条件的方向: 为左.右.…