放一套演算法訓練題

2021-10-07 16:40:35 字數 2793 閱讀 1606

字典序最小問題

揹包相關問題

動態規劃

有1元,5元,10元,50元,100元,500元的硬幣各c1,c5,c10,c50,c100,c500枚.

現在要用這些硬幣來支付a元,最少需要多少枚硬幣?

假定本題至少存在一種支付方案.

0≤ci≤10^9

0≤a≤10^9

輸入:第一行有六個數字,分別代表從小到大6種面值的硬幣的個數

第二行為a,代表需支付的a元

樣例:輸入

3 2 1 3 0 2

620

輸出

6
說明:1500+250+110+25,共6枚

有n項工作,每項工作分別在si時間開始,在ti時間結束.

對於每項工作,你都可以選擇參與與否.如果選擇了參與,那麼自始至終都必須全程參與.

此外,參與工作的時間段不能重複(即使是開始的瞬間和結束的瞬間的重疊也是不允許的).

你的目標是參與盡可能多的工作,那麼最多能參與多少項工作呢?

1≤n≤100000

1≤si≤ti≤10^9

輸入:第一行:n

第二行:n個整數空格隔開,代表n個工作的開始時間

第三行:n個整數空格隔開,代表n個工作的結束時間

樣例輸入:

5

1 2 4 6 8

3 5 7 9 10

樣例輸出:

3
說明:選取工作1,3,5

數軸上有n個閉區間[ai,bi]。取盡量少的點,使得每個區間內都至少有乙個點(不同區間內含的點可以是同乙個)。

看看poj-1201

數軸上有n個閉區間[ai,bi],選擇盡量少的區間覆蓋一條指定線段[s,t]

給乙個定長為n的字串s,構造乙個字串t,長度也為n。

起初,t是乙個空串,隨後反覆進行下列任意操作

從s的頭部刪除乙個字元,加到t的尾部

從s的尾部刪除乙個字元,加到t的尾部

目標是最後生成的字串t的字典序盡可能小

1≤n≤2000

字串s只包含大寫英文本母

輸入:字串s

輸出:字串t

給出n個物體,第i個物體重量為wi。選擇盡量多的物體,使得總重量不超過c。

有n個物體,第i個物體的重量為wi,價值為vi。在總重量不超過c的情況下讓總價值盡量高。每乙個物體都可以只取走一部分,價值和重量按比例計算。

注意:每個物體可以只拿一部分,因此一定可以讓總重量恰好為c。

有n個人,第i個人重量為wi。每艘船的最大載重量均為c,且最多只能乘兩個人。用最少的船裝載所有人。

有n個重量和價值分別為wi,vi的物品,從這些物品中挑選出總重量不超過w的物品,求所有挑選方案中價值總和的最大值。

1≤n≤100

1≤wi,vi≤100

1≤w≤10000

輸入:

n=4

(w,v)=

w=5

輸出:

7(選擇第0,1,3號物品)
因為對每個物品只有選和不選兩種情況,所以這個問題稱為01揹包。

serling公司購買長鋼條,將其切割為短鋼條**。切割工序本身沒有成本支出。公司管理層希望知道最佳的切割方案。假定我們知道serling公司**一段長為i英吋的鋼條的**為pi(i=1,2,…,單位為美元)。鋼條的長度均為整英吋。

| 長度i | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |

| - | - | - | - | - | - | - | - | - | - |

**pi | 1 | 5 | 8 | 9 | 10 | 17 | 17 | 20 | 24 | 30 |

鋼條切割問題是這樣的:給定一段長度為n英吋的鋼條和乙個**表pi(i=1,2,…n),求切割鋼條方案,使得銷售收益rn最大。注意,如果長度為n英吋的鋼條的**pn足夠大,最優解可能就是完全不需要切割。

the ******** - poj 1163 - virtual judge

在數字三角形中尋找一條從頂部到底邊的路徑,使得路徑上所經過的數字之和最大。

路徑上的每一步都只能往左下或 右下走。只需要求出這個最大和即可,不必給出具體路徑。

三角形的行數大於1小於等於100,數字為 0 - 99

輸入格式:

5 //表示三角形的行數 接下來輸入三角形

73 8

8 1 0

2 7 4 4

4 5 2 6 5

要求輸出最大和

給定兩個字串,輸出最長公共子串行,如輸入

ab34c

a1bc2

輸出

abc
有n個重量和價值分別為wi,vi的物品,從這些物品中挑選出總重量不超過w的物品,求所有挑選方案中價值總和的最大值。

注意,每種物品可以挑選任意多件。

1≤n≤100

1≤wi,vi≤100

1≤w≤10000

有乙個長為n的數列a0,a1,…,a(n-1)。請求出這個序列中最長的上公升子串行的長度。

上公升子串行指的是對於任意的i1≤n≤1000

0≤ai≤1000000

輸入

n=5

a=

輸出

3(注:2,3,5)

一套 程式設計題 程式設計1 10

1.寫出程式把乙個鍊錶中的接點順序倒排 typedef struct linknode node 將乙個鍊錶逆置 node reverse node head head next null head p return head 2.寫出程式刪除鍊錶中的所有接點 void del all node h...

一套程式設計題 選擇題41 80

41.下列正確的選項是 a 繼承是建立乙個具有別的類的屬性和行為的新類的能力 b c語言支援物件導向的程式設計 c 空白符是一種可以被編譯的符號 d 標示符不宜過長,一般設定為16個字元 答案 a 解析 c 空白符被忽略掉 d 識別符號具體支援的長度根據編譯器的不同而不同 42.下列關於c 語言的發...

一套程式設計題 選擇題81 100

81.下面程式的執行結果是 includevoid main void main int i 3 while i 8 coutint main coutc s.p 3 d s.p 3 答案 c 93.已知f1 int 是類x的公有成員函式,p是指向成員f1 的指標,採用它賦值,是正 確的.a p f...