音量調節(洛谷)

2021-10-24 14:44:26 字數 1661 閱讀 3588

題目描述

乙個吉他手準備參加一場演出。

他不喜歡在演出時始終使用同乙個音量,所以他決定每一首歌之前他都需要改變一次音量。

在演出開始之前,他已經做好乙個列表,裡面寫著每首歌開始之前他想要改變的音量是多少。

每一次改變音量,他可以選擇調高也可以調低,音量用乙個整數描述。

輸入檔案中整數beginlevel,代表吉他剛開始的音量,整數maxlevel,代表吉他的最大音量。

音量不能小於 0 也不能大於 maxlevel。

輸入中還給定了 n 個整數 c1, c2, c3, …, cn,表示在第 i 首歌開始之前吉他手想要改變的音量是多少。

吉他手想以最大的音量演奏最後一首歌,你的任務是找到這個最大音量是多少。

輸入格式

第一行依次為三個整數 n,beginlevel 和 maxlevelmaxlevel。

第二行依次為 n 個整數 c1, c2, c3, …, cn

輸出格式

輸出演奏最後一首歌的最大音量。

如果吉他手無法避免音量低於 0 或者高於 maxlevel,輸出 -1。

輸入樣例

3 5 10

5 3 7

輸出樣例10

資料範圍

1 ≤ n ≤ 50,1 ≤ ci ≤ maxlevel,1 ≤ maxlevel ≤ 1000,0 ≤ beginlevel ≤ maxlevel

題解一

記憶化搜尋:

#include

#include

using

namespace std;

const

int n =

60, m =

1010

;int n, max, s, ans =-1

;int v[n]

, f[n]

[m];

void

dfs(

int u,

int sum)

f[u]

[sum]

=true

;dfs

(u +

1, sum + v[u]);

dfs(u +

1, sum - v[u]);

}int

main()

題解二

01揹包:

#include

using

namespace std;

const

int n =

60, m =

1010

;int n, m, s;

int v[n]

, f[n]

[m];

intmain()

for(

int i = m; i >=

0; i --)if

(f[n]

[i])

cout <<-1

<< endl;

}

洛谷 P1877 HAOI2012 音量調節

音量用乙個整數描述。輸入檔案中整數beginlevel,代表吉他剛開始的音量,整數maxlevel,代表吉他的最大音量。音量不能小於0也不能大於maxlevel。輸入中還給定了n個整數c1,c2,c3,cn,表示在第i首歌開始之前吉他手想要改變的音量是多少。吉他手想以最大的音量演奏最後一首歌,你的任...

C 調節PCM音量

在用 解碼器 具體的實現函式如下 void raisevolume char buf,uint32 size,uint32 urepeat,double vol buf為需要調節音量的音訊資料塊首位址指標,size為長度,urepeat為重複次數,通常設為1,vol為增益倍數,可以小於1 for i...

音量調節流程

在分析 android音訊系統時,習慣將其實現分為兩個部分 資料流和策略。資料流描述了音訊資料從資料來源流向目的地的過程。而策略則是管理及控制資料流的路徑與呈現的過程.audiotrack audiorecord 和audioflinger 可以被劃歸到資料流的範疇去討論。而 audiopolicy...