nes
cafe
nescafe
nescaf
e 由 n
nn 種元素組成(編號為 1−n
1-n1−
n ),第 i
ii 種元素有乙個封印區 [ai
,bi]
[a_i,b_i]
[ai,b
i] 。當封印力度 e
ee 小於 a
ia_i
ai 時,該元素獲得 a
ia_i
ai 的封印能量;當封印力度 e
ee 在 a
ia_i
ai 到 b
ib_i
bi 之間時,該元素將獲得 e
ee 的封印能量;而當封印力度 e
ee 大於 b
ib_i
bi 時,該元素將被破壞從而不能獲得任何封印能量。現在聖主 app
lepi
applep
i 想選擇恰當的 e
ee ,使得封印獲得的總能量盡可能
高。為了封印的最後一擊盡量完美,就請你寫個程式幫他計算一下吧!
首先很容易發現,最優的數一定是區間的端點,所以只要離散後排個序,找出最優的解。
設 l ef
tleft
left
表示所有元素左端點的和,rig
ht
right
righ
t 表示所在區間的個數
所以對於當前選的數 e
ee,可以得出 ans
=lef
t+ri
ght×
eans=left+right\times e
ans=le
ft+r
ight
×e然後就是維護 lef
tleft
left
和 righ
tright
right
首先標記每個區間的左端點為 1
11,右端點為 −1-1
−1當遇到左端點時,lef
t−
left-
left
−當前點的值,即出去乙個區間,rig
ht++
right++
right+
+,即進入乙個新的區間,然後計算值
當遇到右端點時,先計算值,然後rig
ht−−
right--
right−
−,即出去乙個區間。因為在區間的右端點時,也算在當前區間,所以先計算值
#include#define n 200005
#define ll long long
using namespace std;
ll n,l,r,ans,pos;
struct a
a[n];
bool cmp(a a,a b)
int main()
sort(a+1,a+1+n+n,cmp);
for(int i=1;i<=2*n;i++)
else
}cout<}
2440 上核心3 4 2移植
win7下不能使用dnw燒寫的替代方法 兩種替代方法 u boot tftp 30000000 u boot.bin protect off all erase 0 3ffff cp.b 30000000 0 40000 kernel tftp 30000000 uimage nand erase ...
Ubuntu安裝ICE 3 4 2記錄
日期 2011 09 05 字型 大 中 小 ice 3.4.2.tar.gz 在third party source code一欄下選擇 thirdparty sources 3.4.2.tar.gz 2.安裝第三方依賴庫 解壓thirdparty sources 3.4.2.tar.gz tar...
3 4 2 引數化函式的好處
3.4.2 引數化函式的好處 我們看另乙個使用這個函式的示例,為了不同的目的,初看起來,完全不同於計算列表元素的和或積。讓我們看看,是否能找出最大值 aggregatelist max 1 4 1 5 2 8 3 val it int 8 作為第乙個引數的函式 max 是內建的 f 函式,返回給定的...