[二分]NOIP2011 day2 T2 聪明的质检员

告别实车测试:手把手教你用Vector VT平台搭建OBC/DCDC的HIL测试台架 本文详细介绍了如何利用Vector VT平台搭建新能源汽车OBC/DCDC的HIL测试台架,涵盖硬件选型、模型部署到自动化测试的全流程。通过HIL仿真测试技术,工程师可以高效验证动力域关键部件,大幅缩短开发周期并降低成本,特别适合新能源汽车三电系统的开发验证。 阅读详情
聪明的质检员
From 西部314
背景 Background
NOIP2011 day2 第二题
描述 Description
小T 是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有 n 个矿石,从 1到n 逐一编号,每个矿石都有自己的重量 wi 以及价值vi 。检验矿产的流程是: 
1 、给定m 个区间[Li ,Ri]; 
2 、选出一个参数 W; 
3 、对于一个区间[Li ,Ri],计算矿石在这个区间上的检验值Yi:
Yi=Σ1*Σvj,Σ的循环变量为j,这里j要满足j∈[Li,Ri]且wj≥W,这里j是矿石编号。

这批矿产的检验结果Y为各个区间的检验值之和。ΣYi,Σ的循环变量为i,1≤i≤m。

若这批矿产的检验结果与所给标准值S 相差太多,就需要再去检验另一批矿产。小T不想费时间去检验另一批矿产,所以他想通过调整参数W 的值,让检验结果尽可能的靠近标准值S,即使得S-Y 的绝对值最小。请你帮忙求出这个最小值。 
输入格式 Input Format
第一行包含三个整数n ,m,S,分别表示矿石的个数、区间的个数和标准值。 接下来的n 行,每行 2 个整数,中间用空格隔开,第i+1 行表示 i 号矿石的重量 wi 和价值vi 。 
接下来的m 行,表示区间,每行2 个整数,中间用空格隔开,第i+n+1 行表示区间[Li, Ri]的两个端点 Li 和Ri 。注意:不同区间可能重合或相互重叠。 
输出格式 Output Format
输出只有一行,包含一个整数,表示所求的最小值。 
样例输入 Sample Input [ 复制数据]
样例输出 Sample Output [ 复制数据]
时间限制 Time Limitation
各个测试点1s
注释 Hint
对于10% 的数据,有 1 ≤n ,m≤10; 
对于30% 的数据,有 1 ≤n ,m≤500 ; 
对于50% 的数据,有 1 ≤n ,m≤5,000; 
对于70% 的数据,有 1 ≤n ,m≤10,000 ; 

对于100%的数据,有 1 ≤n ,m≤200,000,0 < wi, vi≤10^6,0 < S≤10^12,1 ≤Li ≤Ri ≤n 。



w为参数

tt[i]表示 1..i个矿中wi>=w的个数  tt[i]=tt[i-1]+1 (满足wi>=w)

                                          else tt[i]=tt[i-1]

vvw[i] 表示1..i个矿中wi>=w的价值和 ww[i]=ww[i-1]+w[i] (满足)

                                                       else ww[i]=ww[i-1]

对于一个l[i] r[i]的查询 mark=(tt[r[i]]-tt[l[i]-1])*(ww[r[i]]-ww[l[i]-1])

累加mark 作为 每一个w 答案

显然 mark单调递减

二分w即可 

二分可以有很多种写法...


    left:=1;right:=max;
    while left+1<right do
    begin
        mid:=(left+right)div 2;
        ans:=work(mid);
        if ans>s then left:=mid
        else right:=mid;
    end;    



procedure search;
var l,r,mid:longint;
    tt,kk:qword;
begin
l:=0;r:=max;ans:=10000000000000;
while l<=r do
  begin
     mid:=(l+r)shr 1;
     tt:=ac(mid);
     if tt>s then kk:=tt-s else kk:=s-tt;
     if ans>kk then ans:=kk;
     if tt<s then r:=mid-1;
     if tt>s then l:=mid+1;
     if tt=s then exit;
  end;
end;

var a,b,n,m,s,ans,left,right,mid,max:int64;
    w,l,r,v,tt,vv:array[0..200000]of int64;
    i,j:longint;

function min(a,b:int64):int64;
begin
    if a>b then exit(b) else exit(a);
end;

function work(ww:int64):int64;
var tot:int64;
    j:longint;
begin
    tot:=0;
    fillchar(tt,sizeof(tt),0);
    fillchar(vv,sizeof(vv),0);
    for j:=1 to n do
        if w[j]>=ww then
        begin
           tt[j]:=tt[j-1]+1;
           vv[j]:=vv[j-1]+v[j];
        end else
        begin
            tt[j]:=tt[j-1];
            vv[j]:=vv[j-1];
        end;
    for j:=1 to m do
    tot:=tot+(tt[r[j]]-tt[l[j]-1])*(vv[r[j]]-vv[l[j]-1]);
    exit(tot);
end;


begin
    readln(n,m,s);
    for i:=1 to n do readln(w[i],v[i]);
    for i:=1 to m do readln(l[i],r[i]);
    max:=0;
    for i:=1 to n do if max<w[i] then max:=w[i];
    left:=1;right:=max;
    while left+1<right do
    begin
        mid:=(left+right)div 2;
        ans:=work(mid);
        if ans>s then left:=mid
        else right:=mid;
    end;
    writeln(min(abs(work(right)-s),abs(work(left)-s)));
    readln;
end.



SCS 43. 利用Scissor算法从单细胞数据中挖掘临床表型关联的细胞亚群 本文详细介绍了Scissor算法在单细胞转录组数据分析中的应用,该算法能够精准挖掘与临床表型关联的细胞亚群。通过建立单细胞RNA测序数据与临床预测模型的直接关联,Scissor避免了传统聚类方法的局限性,为疾病机制研究和个性化医疗提供了新工具。文章还涵盖了数据预处理、模型选择、结果验证等实战技巧。 阅读详情

相关推荐

【3d打印】基于Klipper的3d打印远程上位机系统(Qt),klipper源码,通信解析,打印参数设置

基于Klipper的3d打印远程上位机系统(Qt),klipper源码,通信解析,打印参数设置(启庞Kp3s V1)

共享IT之美,共创机器未来 3192

NOIP2011提高组 聪明的质监员 -SilverN

题目描述 小T 是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有 n 个矿石,从 1到n 逐一编号,每个矿石都有自己的重量 wi 以及价值vi 。检验矿产的流程是: 1 、给定m 个区间[Li,Ri]; 2 、选出一个参数 W; 3 、对于一个区间[Li,Ri],计算矿石在这个区间上的检验值Yi: 这批矿产的检验结果Y 为各个区间的检验值之和。即:Y1+Y2......

a394121312的博客 370

基于YOLOv5与海康工业相机的高分辨率实时检测实践

本文详细介绍了基于YOLOv5与海康工业相机的高分辨率实时检测实践,通过优化相机配置、网络传输和YOLOv5模型适配,实现了每秒15帧以上的实时检测性能,缺陷识别准确率高达99.2%。特别适用于电子元件焊接点检测、精密齿轮齿痕检查等对微小缺陷敏感的场景。

weixin_30872499的博客 474

洛谷1314 聪明的质监员

原题地址: https://www.luogu.org/problem/show?pid=1314 题目描述 小T 是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有 n 个矿石,从 1到n 逐一编号,每个矿石都有自己的重量 wi 以及价值vi 。检验矿产的流程是: 1、给定m 个区间[Li,Ri]; 2、选出一个参数 W; 3、对于一个区间[Li,Ri],计算矿石在这个区间上

zero_from的博客 482

Kettle安装与使用

Pentaho Data Integration作为一个端对端的数据集成平台,可以对多种数据源进行抽取(Extraction)、加载(Loading)、数据落湖(Data Lake Injection)、对数据进行各种清洗(Cleasing)、转换(Transformation)、混合(Blending),并支持多维联机分析处理(OLAP)和数据挖掘(Data mining)。勺子(spoon.bat/spoon.sh):是一个图形化的界面,可以让我们用图形化的方式开发转换和作业。

jnrjian的博客 1万+

Multisim 14.0实战:从零搭建可调幅多波形信号发生器(附仿真文件)

本文详细介绍了如何在Multisim 14.0中从零搭建一个可调幅多波形信号发生器,涵盖方波、三角波和正弦波的生成原理与实现步骤。通过核心电路架构解析、关键参数设计及Multisim实战操作,帮助电子工程学习者和硬件工程师掌握信号发生器的设计与调试技巧,并提供仿真文件供实践验证。

nokia的博客 1073

【NOIP2011】 聪明的质监员

小 T 是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有n个矿石,从 1 到n逐一编号,每个矿石都有自己的重量wi以及价值vi。检验矿产的流程是:1. 给定 m个区间[Li,Ri];2. 选出一个参数W;3. 对于一个区间[Li,Ri],计算矿石在这个区间上的检验值Yi: Yi=∑j1×∑jvj,j∈[Li,Ri]且wj≥W,j是矿石编号 这批矿产的检验结果Y为各个区间的...

weixin_30828379的博客 160

cannot import name ‘BUFSIZE‘ from ‘numpy‘ 解决方案

本文主要介绍了cannot import name ‘BUFSIZE’ from ‘numpy’ 解决方案,希望能对使用numpy的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 22万+

NOIP2011 提高组 复赛 day1 carpet 铺地毯

NOIP2011 提高组 复赛 day1 carpet 铺地毯 1.读完题目,对样例1进行模拟,进一步明白题目意图。 2.地毯数据采用结构体数组,处理起来比较方便。 3.查询点上地毯,采用自上而下方式,找到break。 4.若没有找到,输出-1 5.很快样例通过,提交AC 耗时:20分钟(从拿到题目开始计时) 难度:简单 附上AC代码,编译环境Dev-C++4.9.

mrcrack的博客 1288

【Flutter 问题系列第 85 篇】Xcode 运行 Flutter 提示 The Dart VM Service was not discovered after 60 seconds.

在 Xcode 上运行 Flutter 时提示 `The Dart VM Service was not discovered after 60 seconds. This is taking much longer than expected...`,意思是 `60秒后未发现Dart虚拟机服务。这比预期的要长得多`

“Allen Su”的博客 2235

手把手教你RK3568 MIPI屏驱动适配,纯干货!

RK3568 作为一款高性能的多媒体处理器,在嵌入式领域中备受瞩目。它采用了先进的 22nm 制程工艺,搭载四核 Cortex-A55 处理器,这种架构为芯片提供了高效的功耗比,使其在运行各种复杂任务时,既能保证性能,又能有效控制功耗。在实际应用中,无论是多任务处理还是运行大型应用程序,RK3568 都能凭借其四核 Cortex-A55 处理器,实现流畅的操作体验,满足智能设备对高性能和低功耗的需求。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 4069

【NOIP2011】聪明的质检员

2.聪明的质监员 (qc.cpp/c/pas) 小 T 是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有 n 个矿石,从 1 到 n 逐一编号,每个矿石都有自己的重量 wi 以及价值 vi。检验矿产的流程是: 1、给定 m 个区间[Li,Ri]; 2、选出一个参数 W; 3、对于一个区间[Li,Ri],计算矿石在这个区间上的检验值 Yi : 这批矿产的检验结果 Y 为各个区间

SunIsMe的博客 4800

Python-自动化绘制股票价格通道线

创建更强大、更可靠的价格通道检测算法。

探索人工智能领域 948

Noip 提高组 2011 Day2 T2 聪明的质检员 二分法

题目描述 小T 是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有 n 个矿石,从 1到n 逐一编号,每个矿石都有自己的重量 wi 以及价值vi 。检验矿产的流程是: 1 、给定m 个区间[Li,Ri]; 2 、选出一个参数 W; 3 、对于一个区间[Li,Ri],计算矿石在这个区间上的检验值Yi: 这批矿产的检验结果Y 为各个区间的检验值之和。即:Y

I'm Growing 425

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【NOIP 2011 Day2 T2】聪明的质检员(二分)

题目描述 Description 小 T 是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有n 个矿石,从1到n 逐一编号,每个矿石都有自己的重量wi 以及价值vi。检验矿产的流程是:见图 若这批矿产的检验结果与所给标准值S 相差太多,就需要再去检验另一批矿产。小T不想费时间去检验另一批矿产,所以他想通过调整参数W 的值,让检验结果尽可能的靠近标准值S,即使得S-Y 的绝对值最小

Loi_yuan的博客 706

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

TEST2018.4.14(Noip2011提高组Day2)

TEST2018.4.14(Noip2011提高组Day2)为2019级lizw0520zzh的学生献上福利!!!题目描述(感谢洛谷爸爸):  计算系数    聪明的质检员    观光公交T1 计算系数:小学奥数!!!学过杨辉三角的同学应该很容易推出来:存在答案数组使得  ans[i][j]=(ans[i-1][j]*a+ans[i-1][j-1]*b);其中ans[i][j]表示i次方的第j项的...

鸢 267

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

二分+前缀和——聪明的质检员

题目: 问题 F: 【NOIP2011提】聪明的质监员(Day 2) 问题 F: 【NOIP2011提】聪明的质监员(Day 2)时间限制: 1 Sec  内存限制: 128 MB53  解决: 9[提交] [状态] [讨论版] 题目描述 ...

drifting_to_me的博客 307

【NOIp】NOIp2011

NOIp 2011 Day1 T1 铺地毯 标签:模拟 code 1 #include <cstdio> 2 #include <cstdlib> 3 using namespace std; 4 int main() 5 { 6 int n,x,y,a[10001],b[10001],g[10001],k[1000...

weixin_30539625的博客 181

NOIP2011提高组Day2

NOIP2011提高组Day2一、计算系数数据:对于50%,a=b=1 对于100%,k∈[0,1000], n,m∈[0,k],且n+m=k,a,b∈[1,1e6]a=b=1时就是杨辉三角。k又很小,n^2即可a,b不为1时,可以打个表,发现a,b的次方就是所给的n,m,那就可以套个快速幂,再用上上面的那个杨辉三角就行。我不是这样写的,我打了个表去算,也就只是n^2的事。二、聪明的质检员对于

qq_39951289的博客 450

[NOIP2011] 聪明的质检员(二分答案)

题目描述 小T 是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有 n 个矿石,从 1到n 逐一编号,每个矿石都有自己的重量 wi 以及价值vi 。检验矿产的流程是: 1 、给定m 个区间[Li,Ri]; 2 、选出一个参数 W; 3 、对于一个区间[Li,Ri],计算矿石在这个区间上的检验值Yi: 这批矿产的检验结果Y 为各个区间的检验值之...

weixin_30532987的博客 227

NOIP 2011 DAY 2

第一题:计算系数 题目 给定一个多项式(ax+by)k​​,请求出多项式展开后x​​ny​m​​项的系数。 输入 共一行,包含5个整数,分别为a,b,k,n,m,每两个整数之间用一个空格隔开。 输出 共一行,包含一个整数,表示所求的系数,这个系数可能很大,输出对 10007 取模后的结果。 样例一 input 1 1 3 1 2 output ...

a248138552的博客 166

NOIP2011题解

NOIP2011其实早就做完了。。。。一直懒得写。。。。Day1T1铺地毯我什么都不想说,不会做您就没必要接着看了。。。。#include<iostream> using namespace std; #define MAX 10001 int a[MAX],b[MAX],c[MAX],d[MAX],xx,yy,ans=-1,n; int main() { cin>>n; for(i

小蒟蒻yyb的博客 787

NOIP2011 tyvj1696 聪明的质检员

题目描述: 背景 NOIP2011 day2 第二题 描述 小T 是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有 n 个矿石,从 1到n 逐一编号,每个矿石都有自己的重量 wi 以及价值vi 。检验矿产的流程是:  1 、给定m 个区间[Li ,Ri];  2 、选出一个参数 W;  3 、对于一个区间[Li ,Ri],计算矿石在这个区

iwi 301

刷题日记day5(二分+前缀和)

相差太多,就需要再去检验另一批矿产。注意到题目让我们最小化某一个值,这种题目往往采用二分答案的方法,有些时候我们是。小 T 是一名质量监督员,最近负责检验一批矿产的质量。给了一个无限大的基准值W,那么y就等于0,那么s-y==s,随着。有可能是负数,这也就是我们二分判断边界的关键逻辑,当。行,表示区间,每行两个整数,中间用空格隔开,第。就会变小,显然有单调性,我们确定了方法二分答案。,分别表示矿石的个数、区间的个数和标准值。行,每行两个整数,中间用空格隔开,第。的值,让检验结果尽可能的靠近标准值。

2502_91702733的博客 831

NOIP2015聪明的质检员[二分 | 预处理]

背景 NOIP2011 day2 第二题 描述 小T 是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有 n 个矿石,从 1到n 逐一编号,每个矿石都有自己的重量 wi 以及价值vi 。检验矿产的流程是: 1 、给定m 个区间[Li ,Ri]; 2 、选出一个参数 W; 3 、对于一个区间[Li ,Ri],计算矿石在这个区间上的检验值Yi:Yi=Σ1*Σvj,Σ的循环变量...

weixin_34032779的博客 107

P1314 聪明的质检员NOIP 2011T2

https://www.luogu.org/problem/show?pid=1314#sub 看到这个题,想到二分是不难的,但是如果就直接上二分,简单暴力地求和,就会超时。O(mnlogw) 观察题目,区间可能是重合的或者叠盖,就考虑到前缀和来优化,将m*n缩减到m+n。 最终复杂度为O((m+n)*logw).#include<iostream> #include<cstdio> #inc

hjx 633
上一篇: [数论/质因数分解] 细胞分裂
下一篇: 【动归】rainbow与freda染旗
UtralK
博客等级 码龄14年 3粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值