[Bzoj]5343: [Ctsc2018]混合果汁】的更多相关文章

5343: [Ctsc2018]混合果汁 题目描述 小 R 热衷于做黑暗料理,尤其是混合果汁. 商店里有 \(n\) 种果汁,编号为 \(0,1,\cdots,n-1\) .\(i\) 号果汁的美味度是 \(d_i\),每升价格为 \(p_i\).小 R 在制作混合果汁时,还有一些特殊的规定,即在一瓶混合果汁中,\(i\) 号果汁最多只能添加 \(l_i\) 升. 现在有 \(m\) 个小朋友过来找小 R 要混合果汁喝,他们都希望小 R 用商店里的果汁制作成一瓶混合果汁.其中,第 \(j\) 个…
题目链接: CTSC2018混合果汁 显然如果美味度高的合法那么美味度低的一定合法,因为美味度低的可选方案包含美味度高的可选方案. 那么我们二分一个美味度作为答案然后考虑如何验证? 选择时显然要贪心的先选单价低的果汁. 那么我们按美味度从大到小将每种果汁排序,然后对于每种果汁建立一个版本的主席树,主席树维护的权值是果汁单价. 每次验证时在对应版本主席树中查找,如果左子树中总体积大于L则递归左子树,否则将答案加上左子树所有果汁的总价然后递归右子树. #include<set> #include&…
BZOJ 5343 福利题. 对于每一个询问可以二分$d$,然后把满足条件的果汁按照$p$从小到大排序贪心地取$L$升看看满不满足价格的条件. 那么按照$p$建立权值主席树,$chk$的时候在主席树上走一走算出价格即可. 当然也可以整体二分. 时间复杂度都是$O(nlog^2n)$. Code: #include <cstdio> #include <cstring> #include <algorithm> using namespace std; typedef l…
BZOJ_5343_[Ctsc2018]混合果汁_二分答案+主席树 题意:给出每个果汁的价格p,美味度d,最多能放的体积l.定义果汁混合后的美味度为果汁的美味度的最小值. m次询问,要求花费不大于g,总体积不小于L,求最大美味度,如果不能满足,输出-1. 二分答案.然后转变为求价格前L小的果汁之和. 类似任务查询系统那道题. 权值线段树维护结点总体积和全部购买的总花费. 按美味度建立主席树即可. 代码: #include <cstdio> #include <cstring> #i…
https://www.luogu.org/problemnew/show/P4602 https://loj.ac/problem/2555 https://www.lydsy.com/JudgeOnline/problem.php?id=5343 小 R 热衷于做黑暗料理,尤其是混合果汁. 商店里有 n 种果汁,编号为 0,1,2,...,n−1.i 号果汁的美味度是 di,每升价格为 pi.小 R 在制作混合果汁时,还有一些特殊的规定,即在一瓶混合果汁中,i 号果汁最多只能添加 li 升.…
混合果汁 bzoj-5343 Ctsc-2018 题目大意:给定$n$中果汁,第$i$种果汁的美味度为$d_i$,每升价格为$p_i$,每次最多添加$l_i$升.现在要求用这$n$中果汁调配出$m$杯混合果汁.第$j$杯混合果汁的要求是总价格不多余$g_j$,总体积不小于$L_j$且美味度最大.一杯混合果汁的美味度为所有添加的果汁的美味度的最小值.求$m$杯混合果汁的美味度之和的最大值. 注释:$1\le n,m,d_i,p_i,l_i\le 10^5$,$1\le g_i,L_i\le 10^…
题目描述 小 R 热衷于做黑暗料理,尤其是混合果汁. 商店里有 nn 种果汁,编号为 0,1,\cdots,n-10,1,⋯,n−1 . ii 号果汁的美味度是 d_idi​ ,每升价格为 p_ipi​ .小 R 在制作混合果汁时,还有一些特殊的规定,即在一瓶混合果汁中, ii 号果汁最多只能添加 l_ili​ 升. 现在有 mm 个小朋友过来找小 R 要混合果汁喝,他们都希望小 R 用商店里的果汁制作成一瓶混合果汁.其中,第 jj 个小朋友希望他得到的混合果汁总价格不大于 g_jgj​ ,体积…
问题描述 小 R 热衷于做黑暗料理,尤其是混合果汁. 商店里有 n 种果汁,编号为 0, 1, 2, . . . , n − 1.i 号果汁的美味度是 di,每升价格为 pi.小 R 在制作混合果汁时,还有一些特殊的规定,即在一瓶混合果汁中,i 号果汁最 多只能添加 li 升. 现在有 m 个小朋友过来找小 R 要混合果汁喝,他们都希望小 R 用商店里的果汁 制作成一瓶混合果汁.其中,第 j 个小朋友希望他得到的混合果汁总价格不大于 gj,体 积不小于 Lj.在上述这些限制条件下,小朋友们还希望…
LOJ 题目链接 & 洛谷题目链接 题意:商店里有 \(n\) 杯果汁,第 \(i\) 杯果汁有美味度 \(d_i\),单价为 \(p_i\) 元/升.最多可以添加 \(l_i\) 升.有 \(m\) 次询问,每次给出两个数 \(G,L\),你可以将商店里的一些果汁混合起来,使得他们的总体积不小于 \(L\) 升,总价格不超过 \(G\) 元,问:选择的果汁中美味度最小值的最大值是多少. \(1 \leq n,m \leq 10^5\),\(1 \leq d_i,p_i,l_i \leq 10^…
题目分析 首先考虑到最小值最大,二分答案.假设答案为k,显然这满足单调性.如果某个k使得这个情况下选不出.那么比k大的一定也选不出,所以二分答案. 接着我们可以贪心,当我们确认了k以后,一定会优先选费用最少的,那么可以按费用维护主席树,在树上查询最小的l升果汁. 题目代码暂时没拿到…