BZOJ_2726_[SDOI2012]任务安排_斜率优化+二分 Description 机器上有N个需要处理的任务,它们构成了一个序列.这些任务被标号为1到N,因此序列的排列为1,2,3...N.这N个任务被分成若干批,每批包含相邻的若干任务.从时刻0开始,这些任务被分批加工,第i个任务单独完成所需的时间是Ti.在每批任务开始前,机器需要启动时间S,而完成这批任务所需的时间是各个任务需要时间的总和.注意,同一批任务将在同一时刻完成.每个任务的费用是它的完成时刻乘以一个费用系数Fi.请确定一个分…
网上的题解...状态就没有一个和我一样的...这让我有些无从下手... 分析: 我们考虑,正常的斜率优化满足x(i)单调递增,k(i)单调递增,那么我们就可以只用维护一个单调队列满足对于当前的x(i)有最小值即可,因为x(i)满足单调递增.这样的话,我们就可以维护一个单调队列让队首元首最小.而这道题,可以发现有部分数据满足x(i)单调递增,那么直接裸上就可以,但是由于时间有负数,所以x(i)并不满足单调性.但是由于k(i)仍然满足单调性,因此,我们依然可以发现更新x(i)的时候满足斜率优化的性质…
题目 机器上有N个需要处理的任务,它们构成了一个序列.这些任务被标号为1到N,因此序列的排列为1,2,3...N.这N个任务被分成若干批,每批包含相邻的若干任务.从时刻0开始,这些任务被分批加工,第i个任务单独完成所需的时间是Ti.在每批任务开始前,机器需要启动时间S,而完成这批任务所需的时间是各个任务需要时间的总和.注意,同一批任务将在同一时刻完成.每个任务的费用是它的完成时刻乘以一个费用系数Fi.请确定一个分组方案,使得总费用最小. 输入格式 第一行两个整数,N,S. 接下来N行每行两个整数…
传送门 跟Ti" role="presentation" style="position: relative;">TiTi为正数的时候差不多. 只是这个时候time" role="presentation" style="position: relative;">timetime数组没有了单调性,因此不能丢弃队头的元素,我们需要维护完整的下凸壳然后在上面二分. 写的时候如果用slope"…
题目链接 数据范围在这:https://lydsy.com/JudgeOnline/wttl/thread.php?tid=613, 另外是\(n\leq3\times10^5\). 用\(t_i\)表示加工时间的前缀和,\(s_i\)表示费用系数\(F_i\)的前缀和. \(f_i\)表示以\(i\)作为某一组的最小花费.因为每次分组都会对后面所有任务产生影响,所以都乘 费用系数\(F_i\)就好了.所以:\[f_i=\min\{f_j+(t_i-t_j+S)*(s_n-s_j)\}\] 拆开…
BZOJ_3675_[Apio2014]序列分割_斜率优化 Description 小H最近迷上了一个分隔序列的游戏.在这个游戏里,小H需要将一个长度为n的非负整数序列分割成k+1个非空的子序列.为了得到k+1个子序列,小H需要重复k次以下的步骤: 1.小H首先选择一个长度超过1的序列(一开始小H只有一个长度为n的序列——也就是一开始得到的整个序列): 2.选择一个位置,并通过这个位置将这个序列分割成连续的两个非空的新序列. 每次进行上述步骤之后,小H将会得到一定的分数.这个分数为两个新序列中元…
BZOJ_4518_[Sdoi2016]征途_斜率优化 Description Pine开始了从S地到T地的征途. 从S地到T地的路可以划分成n段,相邻两段路的分界点设有休息站. Pine计划用m天到达T地.除第m天外,每一天晚上Pine都必须在休息站过夜.所以,一段路必须在同一天中走完. Pine希望每一天走的路长度尽可能相近,所以他希望每一天走的路的长度的方差尽可能小. 帮助Pine求出最小方差是多少. 设方差是v,可以证明,v×m^2是一个整数.为了避免精度误差,输出结果时输出v×m^2.…
BZOJ_1713_[Usaco2007 China]The Bovine Accordion and Banjo Orchestra 音乐会_斜率优化 Description Input 第1行输入N,之后N行输入Ai,之后N行输入Bi. Output 输出最大收益. Sample Input 3 1 1 5 5 1 1 INPUT DETAILS: There are 6 cows: 3 accordionists and 3 banjoists. The accordionists hav…
由题目条件显然可以得到状态 f[i][j] 表示以 i 为结尾且 i 后作为断点,共做了 j 次分组的最小代价. 因此转移变得很显然:f[i][j]=min{f[k][j-1]+(s×j+sumT[i])×(sumC[i]-sumC[k])}  (0≤k<i) sumT[i]表示时间的前缀和,sumC[i]表示代价的前缀和 但是绝望的是显然时间复杂度是O(n³),2D/1D的动态规划显然无法解决一题(但是如果能使用斜率优化也可以优化为O(n²)的程度,但显然毫无卵用QAQ) 所以我们来优化状态,…
2726: [SDOI2012]任务安排 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1580  Solved: 466[Submit][Status][Discuss] Description 机 器上有N个需要处理的任务,它们构成了一个序列.这些任务被标号为1到N,因此序列的排列为1,2,3...N.这N个任务被分成若干批,每批包含相邻的 若干任务.从时刻0开始,这些任务被分批加工,第i个任务单独完成所需的时间是Ti.在每批任务开始前,机器…