$CF311B\ Cats\ Transport$ 斜率优化】的更多相关文章

题面:CF311B Cats Transport 题解: 首先我们观察到山与距离其实是没有什么用的,因为对于任意一只猫,我们都可以直接算出如果有一个人要恰好接走它,需要在哪一时刻出发,我们设第i只猫对应的这个时刻为$t_{i}$. 注意这个$t_{i}$是我自己新定义的,跟题目中的没有关系,下面所写的t都是我现在所定义的t,而跟原题面中的t没有任何关系. 然后我们对t数组排个序,于是题意转化为了有m只猫,每只猫有一个权值$t_{i}$,如果出发时间大于等于$t_{i}$,则可以接到第i只猫.设出…
AcWing Description Sol 设f[i][j]表示前i个饲养员接走前j只猫咪的最小等待时间. 要接到j猫咪,饲养员的最早出发时间是可求的,设为d: $ d[j]=Tj-\sum_{k=1}^{Hi}Dk$ 然后把d从小到大排序并且求出前缀和s.注意到,一个饲养员带走的猫咪一定是按d排序后连续的一段.假设一个饲养员最后一个接走的猫是第k只,他后面一个饲养员是在d[k]时间出发的,那么,他能接走[k+1,j]的所有猫咪. $f[i][j]=min{f[i-1][k]+dj*(j-k)…
[题解]Cats Transport (斜率优化+单调队列) # When Who Problem Lang Verdict Time Memory 55331572 Jun/09/2019 19:18UTC+8 Winlere D - Cats Transport GNU C++11 Accepted 405 ms 84200 KB 思考的过程很艰难,想清楚之后就不难做了.记录一下思路过程. 时间 事件 14:00 开始审题 14:15 手玩样例 14:30 Observe \(\times…
Cats Transport 出发时间居然能是负的,我服了... 卡了我十几次, 我一直以为斜率优化写搓了. 我们能得出dp方程式 dp[ i ][ j ] = min(dp[ k ][ j - 1 ] + hs[ i ] * (cnt[ i ] - cnt[ j ]) - sum[ i ] + sum[ j ]) k < i 这个东西显然能斜率优化, 直接搞. 其实不用离散化直接dp更好写. #include<bits/stdc++.h> #define LL long long #d…
luogu翻译 一些山距离起点有距离且不同,m只猫要到不同的山上去玩ti时间,有p个铲屎官人要去把所有猫接走,步行速度为1单位每秒,从1走到N座山不停下,必须在猫玩完后才可以把他带走.可以提前出发.问所有猫最少等待时间之和. 这题一开始有个模糊想法就是$f[i][j]$表示前i个人接j只猫,但是猫是乱序的,必须找一种方法顺序的dp.想到排序.但是排时间抑或是距离都不对,要考虑优先接哪个.然后瞎想到每只猫可以让人在$T_i-dis_i$时刻从起点出发正好接到不用等,那接一堆猫等待时间取决于要求出发…
题目传送门 题意:现在有n座山峰,现在 i-1 与 i 座山峰有 di长的路,现在有m个宠物, 分别在hi座山峰,第ti秒之后可以被带走,现在有p个人,每个人会从1号山峰走到n号山峰,速度1m/s.现在你可以安排好这p个人的出发时间,问所有宠物的等待时间是多少. 题解: 斜率优化DP 我们知道一个人出发之后,该宠物的等待时间就已经决定了. 所以我们可以把每个宠物的0等待时间算出来, 即 A[i] = t[i] - d[h[i]], d为1-h[i]的距离 然后把A[i]排序之后,就可以得到一个出…
题目描述 Zxr960115 是一个大农场主.他养了m只可爱的猫子,雇佣了p个铲屎官.这里有一条又直又长的道路穿过了农场,有n个山丘坐落在道路周围,编号自左往右从1到n.山丘i与山丘i-1的距离是Di米.铲屎官们住在1号山丘. 一天,猫子们外出玩耍.猫子i去山丘Hi游玩,在Ti时间结束他的游玩,然后在山丘Hi傻等铲屎官.铲屎官们必须把所有的猫子带上.每个铲屎官直接从H1走到Hn,中间不停下,可以认为不花费时间的把游玩结束的猫子带上.每个铲屎官的速度为一米每单位时间,并且足够强壮来带上任意数量的猫…
题目链接 题目描述 小S是农场主,他养了 \(M\)只猫,雇了 \(P\) 位饲养员. 农场中有一条笔直的路,路边有 \(N\) 座山,从 \(1\) 到 \(N\)编号. 第 \(i\) 座山与第 \(i-1\) 座山之间的距离为 \(D_i\). 饲养员都住在 \(1\) 号山. 有一天,猫出去玩. 第 \(i\) 只猫去 \(H_i\)号山玩,玩到时刻 \(T_i\) 停止,然后在原地等饲养员来接. 饲养员们必须回收所有的猫. 每个饲养员沿着路从 $1 $号山走到 N 号山,把各座山上已经…
题意 Zxr960115 is owner of a large farm. He feeds m cute cats and employs p feeders. There's a straight road across the farm and n hills along the road, numbered from 1 to n from left to right. The distance between hill i and (i - 1) is di meters. The…
前置芝士:斜率优化  剥下这道题的外壳,让它变为一道裸的斜率优化. 很容易想到状态,但复杂度显然过不去,也没有单调性,只能自己创造. 令 $$c[i] = t - sum[i],sum[i] = \sum_{j = 1} ^{i} d[j]$$如果出发时间为t,那么 t - c[i] 即是等待时间将 c 数组排序后,带走其中一个即可以带走旁边几个,那就是变成了连续选择,c排序后有了单调性,那么转移式就成了 dp[k][i]表示第 k 个饲养员,到 i 这个地方取猫的最小代价$$dp[k][i]…
不想写什么详细的讲解了...而且也觉得自己很难写过某大佬(大米饼),于是建议把他的 blog 先看一遍,然后自己加了几道题目以及解析...顺便建议看看算法竞赛(蓝皮书)的 0x5A 斜率优化(P294) 部分 这是——大米饼大佬 看完了大米饼同志对斜率优化的介绍,下面我来稍微讲讲对斜率优化dp 的理解 前置知识 单调队列(栈) 平面直角坐标系 直线解析式 等式处理 dp状态设计 balabala...... 理解 其实斜率优化 dp 的原理很简单: 根据题目(斜率优化 dp 的题目一般都很裸)的…
HDU3507 Print Article Zero has an old printer that doesn't work well sometimes. As it is antique, he still like to use it to print articles. But it is too old to work for a long time and it will certainly wear and tear, so Zero use a cost to evaluate…
CF311B Cats Transport 暑假到现在终于过了这道题…
\(Cats Transport\) 感觉这道题题面不好讲,就自翻了一个新的,希望有助于大家理解其思路: 大致题意: \(wch\) 的家里有 \(N\) 座山(山呈直线分布,第 \(i-1\) 座山到第 $i $ 座山距离为 \(Di\) ). \(wch\) 中了 \(M\) 粒种子,第 \(i\) 粒种子在第 \(Hi\) 座山上生长,并在 \(Ti\) 时刻成熟,然后从 \(Ti\) 时刻开始每过一时刻累积一点损坏度(从被采摘的那一刻开始不会继续损坏).但 \(wch\) 只雇佣了 \(…
Zxr960115 is owner of a large farm. He feeds m cute cats and employs p feeders. There's a straight road across the farm and n hills along the road, numbered from 1 to n from left to right. The distance between hill i and (i - 1) is di meters. The fee…
传送门 斜率优化dp好题. 对于第i只猫,显然如果管理员想从出发开始刚好接到它,需要在t[i]=h[i]−dist(1,i)" role="presentation" style="position: relative;">t[i]=h[i]−dist(1,i)t[i]=h[i]−dist(1,i)的时候出发才行. 这样的话,如果把第l~r只猫分成一组,那么当前分组需要的最小花费是 t[r]−t[l]+t[r]−t[l+1]+t[r]−t[l+2]+…
前言 斜率优化\(DP\)是难倒我很久的一个算法,我花了很长时间都难以理解.后来,经过无数次的研究加以对一些例题的理解,总算啃下了这根硬骨头. 基本式子 斜率优化\(DP\)的式子略有些复杂,大致可以表示成这样: \[f_i=min_{j=1}^{i-1}(A(j)-B(j)*S(i)+C(i))\] 其中\(A(j)\)和\(B(j)\)是两个只与\(j\)有关的函数,\(S(i)\)和\(C(i)\)是两个只与\(i\)有关的函数,式子中的\(min\)其实也可以替换成\(max\),但这里…
1609:[例 4]Cats Transport 时间限制: 1000 ms         内存限制: 524288 KB sol:非常偷懒的截图了事 注意:只能猫等人,不能人等猫 对于每只猫,我们可以得到一个数字 Cost[i] 表示Dis[H[i]]-T[i],表示在Cost[i]时刻出发刚好不用等(如果出发时间小于Cost[i],就会错过,反之则需要等待) 显然Cost需要排序 那么每个饲养员一定是掌管一段连续的Cost,直接dp是p*m2的,所以用斜率优化,非常套路 推出若 k<l<…
先摆上学习的文章: orzzz:斜率优化dp学习 Accept:斜率优化DP 感谢dalao们的讲解,还是十分清晰的 斜率优化$DP$的本质是,通过转移的一些性质,避免枚举地得到最优转移 经典题:HDU 3507 ($Print$ $Article$) 状态数$O(N)$,单次转移$O(N)$的做法还是比较容易的 令dp[i]表示打印完第$i$个单词的最小花费,$S[i]$表示$C[1]$到$C[i]$的前缀和,则转移方程为 \[dp[i]=min\{dp[j]+(S[i]-S[j])^{2}\…
Cats Transport 现在有n座山,第i座山的坐标为\(d_i\),初始p个饲养员在山1,有m只猫,每只猫有一个属性\(h_i,t_i\)表示猫i 在\(h_i\)以及它在\(t_i\)时间后才能被带走(\(t_i\)之前不算做在等待),现在请安排饲养员的出发时间,每个饲养员的速度都为每个单位长度每个单位时间,让所有的猫被带走之前的等待时间之和最短. \(2<=n<=10^5,1<=m<=10^5,1<=p<=100\) 解 注意到饲养员的出发时间是不可能作为状…
题解-Cats Transport Cats Transport 有 \(n\) 个山丘,\(m\) 只猫子,\(p\) 只铲屎官.第 \(i-1\) 个山丘到第 \(i\) 个山丘的距离是 \(d_i\).第 \(i\) 只猫子在山丘 \(h_i\) 玩 \(t_i\) 时间.每个铲屎官可以选择出发时间,然后从 \(1\) 号山丘一直不停地每秒一个单位走到 \(n\) 号山丘,领走路上已经玩完的猫.求每只猫都被领走的最小猫子等待时间和. 数据范围:\(2\le n\le 10^5\),\(1\…
我们以一道例题引入: 洛谷 P2365 任务安排: \(n\) 个任务排成一个序列在一台机器上等待完成(顺序不得改变),这 \(n\) 个任务被分成若干批,每批包含相邻的若干任务. 从零时刻开始,这些任务被分批加工,第 \(i\) 个任务单独完成所需的时间为 \(t_i\)​.在每批任务开始前,机器需要启动时间 \(s\),而完成这批任务所需的时间是各个任务需要时间的总和(同一批任务将在同一时刻完成). 每个任务的费用是它的完成时刻乘以一个费用系数 \(C_i\)​.请确定一个分组方案,使得总费…
1597: [Usaco2008 Mar]土地购买 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4026  Solved: 1473[Submit][Status][Discuss] Description 农夫John准备扩大他的农场,他正在考虑N (1 <= N <= 50,000) 块长方形的土地. 每块土地的长宽满足(1 <= 宽 <= 1,000,000; 1 <= 长 <= 1,000,000). 每块土地…
参考资料: 1.元旦集训的课件已经很好了 http://files.cnblogs.com/files/candy99/dp.pdf 2.http://www.cnblogs.com/MashiroSky/p/6009685.html [一] 对于一类转移方程: f[i]=max{a[i]*b[j]+c[i]+d[j]} a[i]和c[i]是开始求解前就知道常数,b[j]和d[j]知道f[j]后就知道有关 可以使用斜率优化(不是这个形式就尽量往这个形式化) {以下讨论不严格区分优于和不差于} […
1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 9812  Solved: 3978[Submit][Status][Discuss] Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中.P教授有编号为1...N的N件玩具,第i件玩具经过压缩后变成一维长度为Ci.为了方便整理,P…
首先得讲一下单调队列,顾名思义,单调队列就是队列中的每个元素具有单调性,如果是单调递增队列,那么每个元素都是单调递增的,反正,亦然. 那么如何对单调队列进行操作呢? 是这样的:对于单调队列而言,队首和队尾都可以进行出队操作,但只有队尾能够进行入队操作. 至于如何来维护单调队列,这里以单调递增队列为例: 1.如果队列的长度是一定的,首先判断队首元素是否在规定范围内,如果不再,则队首指针向后移动.(至于如何来判断是否在制定范围内,一般而言,我们可以给每个元素设定一个入队的序号,这样就能够知道每个元素…
第一次斜率优化. 大致有两种思路: 1.f[i]表示第i个不选的最优情况(最小损失和)f[i]=f[j]+e[i] 显然n^2会T,但是可以发现f的移动情况可以用之前单调队列优化,就优化成O(n)的了. 2.f[i]表示第i个选,第j+1不选的最优情况(最大效率和)f[i]=f[j]+sum[i]-sum[j+1] (i-k-1<=j<=i-1),同样也能单调队列优化成O(n). PS:第一种做法的需要枚举不选最后k个数的情况,但是Min的初值0x7fffffff(max_longint)是会…
题目链接: 4518: [Sdoi2016]征途 Description Pine开始了从S地到T地的征途. 从S地到T地的路可以划分成n段,相邻两段路的分界点设有休息站. Pine计划用m天到达T地.除第m天外,每一天晚上Pine都必须在休息站过夜.所以,一段路必须在同一天中走完. Pine希望每一天走的路长度尽可能相近,所以他希望每一天走的路的长度的方差尽可能小. 帮助Pine求出最小方差是多少. 设方差是v,可以证明,v×m^2是一个整数.为了避免精度误差,输出结果时输出v×m^2.  …
题目链接: 1096: [ZJOI2007]仓库建设 Description L公司有N个工厂,由高到底分布在一座山上.如图所示,工厂1在山顶,工厂N在山脚.由于这座山处于高原内陆地区(干燥少雨),L公司一般把产品直接堆放在露天,以节省费用.突然有一天,L公司的总裁L先生接到气象部门的电话,被告知三天之后将有一场暴雨,于是L先生决定紧急在某些工厂建立一些仓库以免产品被淋坏.由于地形的不同,在不同工厂建立仓库的费用可能是不同的.第i个工厂目前已有成品Pi件,在第i个工厂位置建立仓库的费用是Ci.对…
1096: [ZJOI2007]仓库建设 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4201  Solved: 1851[Submit][Status][Discuss] Description L公司有N个工厂,由高到底分布在一座山上.如图所示,工厂1在山顶,工厂N在山脚.由于这座山处于高原内陆地区(干燥少雨),L公司一般把产品直接堆放在露天,以节省费用.突然有一天,L公司的总裁L先生接到气象部门的电话,被告知三天之后将有一场暴雨,于是L先…