蒜頭君得到了 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這樣就能代表出...