1228 書架 題解

2021-10-04 22:20:19 字數 1240 閱讀 7557

**

題目描述

輸入輸出

樣例輸入

樣例輸出

想法程式注意

**

題目描述

john最近買了乙個書架用來存放奶牛養殖書籍,但書架很快被存滿了,只剩最頂層有空餘。

john共有n頭奶牛(1≤n≤20,000),每頭奶牛有自己的高度hi(1≤hi≤10,000),n頭奶牛的總高度為s。書架高度為b(1≤b≤s<2,000,000,007)。

為了到達書架頂層,奶牛可以踩著其他奶牛的背,像疊羅漢一樣,直到他們的總高度不低於書架高度。當然若奶牛越多則危險性越大。為了幫助john到達書架頂層,找出使用奶牛數目最少的解決方案吧。

輸入

第1行:空格隔開的整數n和b。

第2~n+1行:第i+1行為整數hi。

輸出

能達到書架高度所使用奶牛的最少數目。

樣例輸入

6 40618

1113

1911

樣例輸出

想法

用越高的牛,花費的數量越少。

可以用排序來挑出較高的牛。

程式

#include

#include

using

namespace std;

int n;

long

long sum,ans;

int a[

20001];

long

long b[

20001];

intlalala

(int c,

int d)

intmain()

}}

注意

奶牛數 n(1≤n≤2』0000)

每頭牛高 m(1≤m≤1』0000)

計算高度的數(最大)=2』0000*1』0000=2』0000』0000

得開long long

書架高度為b

奶牛總高度為s

(1≤b≤s≤2,000,000,006)

也得開long long

題解 ZJOI2006 書架

link 小 t 有乙個很大的書櫃。這個書櫃的構造有些獨特,即書櫃裡的書是從上至下堆放成一列。她用 1 到 n 的正整數給每本書都編了號。小 t 在看書的時候,每次取出一本書,看完後放回書櫃然後再拿下一本。由於這些書太有吸引力了,所以她看完後常常會忘記原來是放在書櫃的什麼位置。不過小 t 的記憶力是...

TJOI2011 書架 題解

給出乙個長度為 n 的序列 h 請將 h 分成若干段,滿足每段數字之和都不超過 m 最小化每段的最大值之和。眾所周知,不會做的題目就 dp 其實 dp 方程挺好想的,設 f i 為到第 i 個數,分為若干段所需要的最小代價 設 sum 為 h 的字首和。根據題意可以得到轉移 f i min limi...

P2596 ZJOI2006 書架 題解

最近學習了splay和非旋式treap,於是找到了這道題。維護乙個序列,支援移動元素,查詢元素在序列中的位置,查詢序列中某乙個位置的元素。無旋式treap可以維護一棵樹的中序遍歷結果,但是不支援通過編號來找節點。於是在無旋式treap的基礎上,維護每個節點的父親,這樣就可以求出元素在序列中的位置。對...