首页 > 其他分享 >abc374E Sensor Optimization Dilemma 2

abc374E Sensor Optimization Dilemma 2

时间:2024-10-07 22:12:50浏览次数:1  
标签:Dilemma int lo mid i64 Optimization abc374E return hi

生产某种产品有N道工序,对于工序i,有S[i]和T[i]两类机器可供选择,机器S[i]单价为P[i],每台每天能处理A[i]件;机器T[i]单价为Q[i],每台每天能处理B[i]件。在不超预算X的前提下,每天最多能生产多少件产品?
1<=N<=100; 1<=A[i],B[i]<=100; 1<=P[i],Q[i],X<=1E7

分析:最大产能为所有工序的最小值,可以二分答案,由于A[i],B[i]较小,可以按A[i],B[i]来枚举。

#include <bits/stdc++.h>
using i64 = long long;

void solve() {
	i64 N, X;
	std::cin >> N >> X;
	std::vector<i64> A(N + 1), B(N + 1), P(N + 1), Q(N + 1);
	for (int i = 1; i <= N; i++) {
		std::cin >> A[i] >> P[i] >> B[i] >> Q[i];
	}

	auto check = [&](i64 u) {
		i64 cost = 0;
		for (int i = 1; i <= N; i++) {
			i64 t = 1E9;
			for (int j = 0; j < A[i]; j++) {
				i64 k = std::max(0LL, u - j * B[i] + A[i] - 1) / A[i];
				t = std::min(t, j * Q[i] + k * P[i]);
			}
			for (int j = 0; j < B[i]; j++) {
				i64 k = std::max(0LL, u - j * A[i] + B[i] - 1) / B[i];
				t = std::min(t, j * P[i] + k * Q[i]);
			}
			cost += t;
			if (cost > X) {
				return false;
			}
		}
		return true;
	};

	i64 lo = 0, hi = 1E9, mid;
	while (lo < hi) {
		mid = lo + (hi - lo + 1) / 2;
		if (check(mid)) {
			lo = mid;
		} else {
			hi = mid - 1;
		}
	}
	std::cout << lo << "\n";
}

int main() {
	std::cin.tie(0)->sync_with_stdio(0);
	int t = 1;
	while (t--) solve();
	return 0;
}

标签:Dilemma,int,lo,mid,i64,Optimization,abc374E,return,hi
From: https://www.cnblogs.com/chenfy27/p/18450754

相关文章

  • ABC374E 题解
    好题。爱做。标签:二分。求最大的最小值,考虑二分答案。然后问题就转化成了(求\(n\)次):有两种物品,每种物品有一个代价和价值,求获得不少于给定价值所需的最小代价。下文记物品的代价为\(w\),价值为\(v\),所拿的数量为\(cnt\)。假设有两种物品\(S\)与\(T\),\(S\)物品的性价比......
  • 粒子群算法(Particle Swarm Optimization,PSO)详解
    算法背景粒子群算法,也称粒子群优化算法或鸟群觅食算法(ParticleSwarmOptimization),缩写为PSO。粒子群优化算法是一种进化计算技术(evolutionarycomputation),1995年由Eberhart博士和kennedy博士提出,源于对鸟群捕食的行为研究。该算法最初是受到飞鸟集群活动的规律性启......
  • 无人机集群路径规划:​北方苍鹰优化算法(Northern Goshawk Optimization,NGO)​求解无人机
     一、单个无人机路径规划模型介绍无人机三维路径规划是指在三维空间中为无人机规划一条合理的飞行路径,使其能够安全、高效地完成任务。路径规划是无人机自主飞行的关键技术之一,它可以通过算法和模型来确定无人机的航迹,以避开障碍物、优化飞行时间和节省能量消耗。二、无人......
  • (论文解读)Visual-Language Prompt Tuning with Knowledge-guided Context Optimization
    Comment:acceptedbyCVPR2023基于知识引导上下文优化的视觉语言提示学习摘要提示调优是利用任务相关的可学习标记将预训练的视觉语言模型(VLM)适应下游任务的有效方法。基于CoOp的代表性的工作将可学习的文本token与类别token相结合,来获得特定的文本知识。然而,这些特定的文......
  • 【Preference Learning】Chain of Preference Optimization: Improving Chain-of-Thou
    问题背景在推理过程中使用TOT方式可以增加推理性能,但由于增加了推理次数,导致耗时过大。目前待解决的问题是如何能在推理时既保持很好的推理能力,又保持推理耗时不会过大。本文方法文章提出CPO(ChainofPreferenceOptimization)方式。该方法使用TOT方式来探索推理路径得到......
  • Memory-Efficient Adaptive Optimization
    目录概符号说明SM3区间的划分代码AnilR.,GuptaV.,KorenT.,SingerY.Memory-efficientadaptiveoptimization.NeurIPS,2019.概本文提出了一种memory-efficient的优化器:SM3.符号说明\(t=1,\ldots,T\),optimizationrounds;\(w_t\in\mathbb{R}^d\),par......
  • 深入理解DPO(Direct Preference Optimization)算法
    目录1.什么是DPO?2.Bradley-Terry模型2.1奖励模型的训练3.从PPO到DPO4.DPO的简单实现5.梯度分析Ref1.什么是DPO?直接偏好优化(DirectPreferenceOptimization,DPO)是一种不需要强化学习的对齐算法。由于去除了复杂的强化学习算法,DPO可以通过与有监督微调(SFT)相......
  • BAdam A Memory Efficient Full Parameter Optimization Method for Large Language M
    目录概BAdam代码LuoQ.,YuH.andLiX.BAdam:Amemoryefficientfullparameteroptimizationmethodforlargelanguagemodels.arXivpreprint,2024.概本文介绍了一种Blockcorrdinatedescent(BCD)的训练方式.BAdam当模型本身很大的时候,训练它会成为一......
  • iree 编译流程(2)——buildGlobalOptimizationPassPipeline
    buildGlobalOptimizationPassPipelineIREE::Util::createSimplifyGlobalAccessesPass这个pass主要做这几件事:将不可变globaltensor的load提前到了block的开头,将globaltensor的store安全地挪到block的结尾。进行以下化简:如果loadafterstore,则把load......
  • Regularized Stochastic Learning and Online Optimization
    目录概符号说明MotivationFOBOS(Forward-BackwardSplitting)RDA(RegularizedDualAveraging)FTRL-Proximal(FollowTheRegularizedLeader)FOBOS,RDA,FTRL-Proximal的统一表示[1]DuchiJ.andSingerY.EfficientLearningusingForward-BackwardSplitting.NeurIP......