首页 > TAG信息列表 > 质监

NC16597 [NOIP2011]聪明的质监员

NC16597 [NOIP2011]聪明的质监员 题目 题目描述 小T 是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有 \(n\) 个矿石,从 \(1\) 到 \(n\) 逐一编号,每个矿石都有自己的重量 \(w_i\) 以及价值 \(v_i\) 。检验矿产的流程是: 1 、给定$ m$ 个区间 \([l_i,r_i]\); 2 、选出一个参

[NOIP2011 提高组]聪明的质监员(二分+前缀和)

观察这个小柿子有什么特点: \[y_i=\sum\limits_{j=l_i}^{r_i} [w_j\ge W]\times\sum\limits_{j=l_i}^{r_i}[w_j\ge W]v_j \]我们要求的是 \(\vert s-y \vert\) 的最小值,\(s\) 恒定,而 \(y\) 可以发现是与 \(W\) 负相关的。\(W\) 增大时,\(y_i\) 减小,故 \(y\) 减小;\(W\) 减小时,\(y_i\)

【LG P1314】聪明的质监员

这个题很明显的二分枚举,但是还有一个前缀和有点坑人。 这题题其实点不多,就两个关键点。 二分的判断 可以看到:在W取0时,所有的区间内的矿石都可以选上,而在W大于最大的质量时,所有的矿石都选不上。 然后简单算一下就发现:W越大,矿石选的越少,W越小,矿石选的越多。 所以,随着W增大,Y值减小。

AcWing每日一题(提高组)--聪明的质监员

https://www.acwing.com/problem/content/501/     1 #include<iostream> 2 using namespace std; 3 const int N=200010; 4 typedef long long LL; 5 int v[N],w[N]; 6 int L[N],R[N]; 7 int n,m; 8 LL S; 9 LL sum[N],cnt[N]; 10 LL get_Y(int W){ 11

聪明的质监员(前缀和、二分答案)

  链接:https://ac.nowcoder.com/acm/problem/16597 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语言262144K 64bit IO Format: %lld 题目描述     输入描述: 第一行包含三个整数 n,m,S,分别表示矿石的个数、区间的个数和标准值。 接下来的n行,每

luogu_P1314 聪明的质监员

传送门:https://www.luogu.org/problem/P1314 本SB犯得错误: 不开longlong见祖宗...... 既没有在check中更新答案,又没有最后输出判断ans(l);和ans(l+1)哪个是更优的 二分参数W,然后前缀和一下,逐个计算检验值Y。 不开longlong见祖宗 不开longlong见祖宗 不开longlong见祖宗   #incl

$Noip2011/Luogu1314$ 聪明的质监员 二分+巧妙前缀和

$Luogu$   $Sol$ 首先$W$一定是某个$w_i$.于是一种暴力方法就出炉了,枚举$W$再计算. 注意到,满足$S-Y$的绝对值最小的$Y$只可能是两种,一种是$<S$的最大的$Y$,一种是$>S$的最小的$Y$.那就分别求出来叭.分别求的时候这个$W$的值是可以二分的.但是这样并不能$A$掉这题,因为$check$

题解 P1314 【聪明的质监员】

题目链接 这种质监员迟早要下岗,而且这题数据真的水,试了两个错误做法都给放过去了…… Solution [NOIP2011]聪明的质监员 题目大意:给定\(n\)个矿石,每个矿石有重量\(w\)和价值\(v\),给定\(m\)个区间\([L_i,R_i]\),定义一个区间的贡献\(Y_i = \sum_j1\times\sum_j v_j \quad j \in