stack 合併數字

2022-06-03 20:06:13 字數 621 閱讀 4344

蒜頭君得到了 n 個數,他想對這些數進行下面這樣的操作,選出最左邊的相鄰的差的絕對值為 1 的兩個數,只保留較小的數,刪去較大的數,直到沒有兩個相鄰的差的絕對值為 1 的數,問最多可以進行多少次這樣的操作?

輸入格式

輸入第一行n 表示數字個數

第二行輸入 x1,x2...xn

輸出格式:

輸出一行,為乙個整數,表示蒜頭君最多可以進行多少次這樣的操作。

輸入樣例:

41  2  0  1

輸出樣例:

3

#include#include

#include

#include

#include

using

namespace

std;

int dp[150][150],s[105

]; int

n,m,k;

intans;

bool vis[105][105

];int

main()

if(!sk.empty()&&x==sk.top()+1)

else

}cout

}

lintcode791 合併數字

給出n個數,現在要將這n個數合併成乙個數,每次只能選擇兩個數a,b合併,每次合併需要消耗a b的能量,輸出將這n個數合併成乙個數後消耗的最小能量。樣例 樣例 1 輸入 1 2,3 4 輸出 19 解釋 合併1和2,代價為3 合併後為 3,4,3 合併3,3 代價是6 合併後為 6,4 合併最後兩個,...

合併數字檢測關鍵演算法

請編寫函式 或方法 fun,其功能是 將兩個兩位數的正整數a b合併形成乙個整數放在c中。合併的方式是 將a數的十位和個位數依次放在c數個位和十位上,b數的十位和個位數依次放在c數的百位和千位上。例如,當a 16 b 35時,則c 5361。注意 其中,a b為函式 或方法 fun的輸入引數,c為函...

PHP實現數字範圍的合併

實現方式是先考慮範圍的表示,因為畢竟無法用 直接寫這些範圍。這裡使用字母和陣列代表對應的範圍,比如 1 8 10 使用 array gt 8,elt 10,2 x 10 使用 array eq 10 來表示,也就是 大於 gt 大於等於 egt 小於 lt 小於等於 elt 等於 eq這樣就能代表出...