NOIP2011 聰明的質監員 題解

2022-07-13 20:15:12 字數 669 閱讀 4693

題目大意:

額……貌似蠻清晰的,就不贅述了。

思路:

首先不難發現m越大y越小,因此可以二分答案(方向不要弄錯),二分出最小的不小於s的y即可。而計算y時可用字首和o(n+m)求得。兩種邊界情況也要考慮一下(同時long long不要少開)。

**:

1 #include2 #include3

using

namespace

std;

4#define ll long long

5const

int m=200008;6

intn,m,i,h,t,k,mn,mx,mid,w[m],v[m],l[m],r[m];

7ll s,sum[m],num[m];

89 ll abs(ll x)

1011 ll cal(int

p)12

2021

intmain()

2232

if (cal(h)-sh;

33 printf("

%lld\n

",abs(min(s-cal(k),cal(k-1)-s)));

34return0;

35 }

聰明的質監員 NOIP2011

時間限制 1 s 記憶體限制 128 mb 問題描述 小 t 是一名質量監督員,最近負責檢驗一批礦產的質量。這批礦產共有n 個礦石,從 1 到n 逐一編號,每個礦石都有自己的重量wi 以及價值vi 檢驗礦產的流程是 1.給定 m個區間 li,ri 2.選出乙個引數w 3.對於乙個區間 li,ri 計...

NOIP 2011 聰明的質監員

小t 是一名質量監督員,最近負責檢驗一批礦產的質量。這批礦產共有 n 個礦石,從 1到n 逐一編號,每個礦石都有自己的重量 wi 以及價值vi 檢驗礦產的流程是 1 給定m 個區間 li,ri 2 選出乙個引數 w 3 對於乙個區間 li,ri 計算礦石在這個區間上的檢驗值yi 這批礦產的檢驗結果y...

NOIP 2011 提高組 聰明的質監員

二分 字首和 因為w有已知範圍,即 min 1,max 1 且它會y隨著w的增大而減小,隨著w的減小而增大,所以顯然可以二分。二分的時候區間肯定不能直接列舉了,對於乙個區間的求和以及滿足個數的求解,我們用2個字首和處理即可。可能你們有人會想題目是 s y 那麼二分是否能保證最優呢?實際上是可以的,當...