[NOIP2011]聪明的质检员
【问题描述】
小 T 是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有$n$个矿石,从 1 到$n$逐一编号,每个矿石都有自己的重量$w_i$以及价值$v_i$。检验矿产的流程是:
1. 给定 m个区间$[L_i, R_i]$;
2. 选出一个参数$W$;
3. 对于一个区间$[L_i, R_i]$,计算矿石在这个区间上的检验值$Y_i $:
\[ Y_i = \sum_j 1 \times \sum_j v_j , j \in [L_i, R_i] \text{且} w_j \ge W, j \text{是矿石编号} \]
这批矿产的检验结果$Y$为各个区间的检验值之和。即:
\[ Y = \sum_{i=1}^{m} Y_i \]
若这批矿产的检验结果与所给标准值 S 相差太多,就需要再去检验另一批矿产。小 T 不想费时间去检验另一批矿产,所以他想通过调整参数 W 的值,让检验结果尽可能的靠近标准值 S,即使得$S-Y$的绝对值最小。请你帮忙求出这个最小值。
【输入】
输入文件 qc.in。
第一行包含三个整数n,m,S,分别表示矿石的个数、区间的个数和标准值。
接下来的n 行,每行2 个整数,中间用空格隔开,第i+1 行表示i 号矿石的重量wi 和价值vi 。
接下来的m 行,表示区间,每行2 个整数,中间用空格隔开,第i+n+1 行表示区间[Li,Ri]的两个端点Li 和Ri。注意:不同区间可能重合或相互重叠。
【输出】
输出文件名为qc.out。
输出只有一行,包含一个整数,表示所求的最小值。
【输入输出样例】
qc.in
5 3 15
1 5
2 5
3 5
4 5
5 5
1 5
2 4
3 3
qc.out
10
【输入输出样例说明】
当W 选4 的时候,三个区间上检验值分别为20、5、0,这批矿产的检验结果为25,此时与标准值S 相差最小为10。
【数据范围】
对于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。
【分析】
最后剩下一点细节:二分答案找到的Y不保证距离S最近,因此我们还要取在S另一边的一个Y做判断,输出较小的那个即可。

){fprintf(, r = x % ;
,,}};
, Sumcnt[maxn] = {};
};
};; SumV[] = ;Sumcnt[] = ;
].w >= W)
, --now;
;i <= n;++i)
] + V[i], Sumcnt[i] = Sumcnt[i-] + ;i < m;++i)
]) * (Sumcnt[R[i]] - Sumcnt[L[i]-]);
, k;
}, Wcnt = ;
;i <= n;++i){
, O + n + );
].w + ;
;i < m;++i)
;i <= n;++i)
])
, j = Wcnt-;
;
;;
;
putLL(ans);
cout << endl << ( ;
}
/*=============================================================================================================================*/
二分(前缀计算子段和)
[NOIP2011]聪明的质检员的更多相关文章
- [NOIP2011] 聪明的质检员(二分答案)
题目描述 小T 是一名质量监督员,最近负责检验一批矿产的质量.这批矿产共有 n 个矿石,从 1到n 逐一编号,每个矿石都有自己的重量 wi 以及价值vi .检验矿产的流程是: 1 .给定m 个区间[L ...
- Luogu 1314 【NOIP2011】聪明的质检员 (二分)
Luogu 1314 [NOIP2011]聪明的质检员 (二分) Description 小 T 是一名质量监督员,最近负责检验一批矿产的质量.这批矿产共有n个矿石,从 1 到n逐一编号,每个矿石都有 ...
- [NOIP 2011] 聪明的质检员
聪明的质检员 描述 小 T 是一名质量监督员,最近负责检验一批矿产的质量.这批矿产共有n个矿石,从1到n逐一编号,每个矿石都有自己的重量wi以及价值vi.检验矿产的流程是:1.给定m个区间[Li,Ri ...
- NOIP2011聪明的质监员题解
631. [NOIP2011] 聪明的质监员 ★★ 输入文件:qc.in 输出文件:qc.out 简单对比时间限制:1 s 内存限制:128 MB [问题描述] 小 T 是一名质量监督 ...
- NC16597 [NOIP2011]聪明的质监员
NC16597 [NOIP2011]聪明的质监员 题目 题目描述 小T 是一名质量监督员,最近负责检验一批矿产的质量.这批矿产共有 \(n\) 个矿石,从 \(1\) 到 \(n\) 逐一编号,每个矿 ...
- 【洛谷P1314】[NOIP2011]聪明的质监员
聪明的质监员 题目链接:https://www.luogu.org/problemnew/show/P1314 Y(W)随W的值增大而减小 二分W的值,找到最小的W使得Y(W)>S: 比较Y(W ...
- 洛谷 [P1314] 聪明的质检员(NOIP2011 D2T2)
###一道二分答案加前缀和### 题目中已经暗示的很明显了 "尽可能靠近" " 最小值" 本题的主要坑点在于 long long 的使用 ##abs函数不支持l ...
- NOIP2015聪明的质检员[二分 | 预处理]
背景 NOIP2011 day2 第二题 描述 小T 是一名质量监督员,最近负责检验一批矿产的质量.这批矿产共有 n 个矿石,从 1到n 逐一编号,每个矿石都有自己的重量 wi 以及价值vi .检验矿 ...
- Vijos P1740聪明的质检员
题目 描述 小 T 是一名质量监督员,最近负责检验一批矿产的质量.这批矿产共有n个矿石,从1到n逐一编号,每个矿石都有自己的重量wi以及价值vi.检验矿产的流程是:1.给定m个区间[Li,Ri]:2. ...
随机推荐
- 【Python学习笔记】colormap的参数及其对应的色条
- KVM虚拟机建立快照
部分转载: http://blog.csdn.net/gg296231363/article/details/6899533 windows虚拟机默认镜像格式为raw,快照默认格式为qcow2.win ...
- device tree property ---- interrupt-names
device tree source 的 interrupt-names property 會對應到 pltform_get_irq_byname() 的第二個參數. .dtsi or .dts in ...
- squid 代理服务
squid代理服务分为两种方式: 一.正向代理(用在企业的办公环境中,员工上网需要通过Squid代理来上网) 客户端发送请求到代理服务器,代理服务器去向真正的服务器请求结果,并将结果返回给客户端 二. ...
- linux命令(6):tar命令
压缩方法:tar zcvf test.tar.gz test [表示把文件夹目录压缩成test.tar.gz文件保存] 解压方法:tar zxvf test.tar.gz –C /home [表示解压 ...
- http请求数据的格式
最近看了tinyhttpd的服务器代理,看了看http请求数据包的格式和内容 http请求报包含三个部分: 请求行 + 请求头 + 数据体 请求行包含三个内容 method + request-URI ...
- [知识复习] C语言文件读写
文件打开 fopen() 返回FILE* 对象,如果打开失败返回NULL,错误代码存入errno中 FILE *fopen( const char * filename, const char * m ...
- [转]windows消息机制(MFC)
消息分类与消息队列 Windows中,消息使用统一的结构体(MSG)来存放信息,其中message表明消息的具体的类型, 而wParam,lParam是其最灵活的两个变量,为不同的消息类型时,存放数据 ...
- 主机批量扫描工具fping,hping安装及使用
https://blog.csdn.net/weixin_39762926/article/details/79476196?utm_source=blogxgwz0 https://blog.csd ...
- flex布局各种情况总结分析及实例演示
2009年,W3C提出了一种新的方案----Flex布局,可以简便.完整.响应式地实现各种页面布局.目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能. 通过笔者大量实践,发现 ...