2011年NOIP提高组 聪明的质检员

小T作为质检员,需要通过调整参数W使矿石检验结果接近标准值S,以避免再次检验。采用二分搜索方法,并通过预处理优化解决数据范围内的重复区间问题,以达到最小的S-Y绝对值。
摘要由CSDN通过智能技术生成

小 T 是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有n 个矿石,从1到n 逐一编号,每个矿石都有自己的重量wi 以及价值vi。检验矿产的流程是:见图
若这批矿产的检验结果与所给标准值S 相差太多,就需要再去检验另一批矿产。小T不想费时间去检验另一批矿产,所以他想通过调整参数W 的值,让检验结果尽可能的靠近标准值S,即使得S-Y 的绝对值最小。请你帮忙求出这个最小值。
这里写图片描述
大体思路是二分W然后求Y验证,因为会有重复的区间,暴力求会超时,可以用每次二分的W来O(n)预处理 v[i]前缀和 和 一个区间的符合条件的w[i]数量,还有就是数据范围需要用long long(调了好久才发现QAQ)。

#include<iostream>
#include<cstdio>
#include<cmath>
#define ll long long
using namespace std;
const in
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值