題目:
**如下:
#includeusing namespace std;
long long a[1005],dp[1005];
int main()
ans = max(ans,dp[i]);
} cout << ans << endl;
return 0;
}
這道題是求上公升序列最大和,dp[i]代表前i關最大難度和,每次求dp[i]的值,首先肯定把自己本身那關的難度累加進去,所以一開始dp[i] = a[i],然後再想辦法從最前面的關卡一直嘗試往這一關轉移,如果前i關中的第j關難度小於這一關也就是a[j] < a[i],並且走過前j關的難度加上這一關的難度還大於走過前i關的難度那就更新,也就是dp[i] = dp[j] + a[i]。每次挑出最大值輸出就是上公升序列的最大和。 蒜頭君面試
題目 問題描述 蒜頭君來蒜廠面試的時候,曾經遇到這樣乙個面試題 給定 n 個整數,求裡面出現次數最多的數,如果有多個重複出現的數,求出值最大的乙個。當時可算是給蒜頭君難住了。現在蒜頭君來考考你。輸入格式 第一行輸入乙個整數n 1 n 100000 接下來一行輸入n個 int 範圍內的整數。輸出格式 ...
蒜頭君下棋
蒜頭君下棋 共一行,兩個整數nn和mm 1 leq n m leq 10001 n,m 1000 代表棋盤一共有 nn 行 mm 列。輸出乙個整數,代表棋盤上最多能放的馬的數量。樣例輸入1複製 2 4樣例輸出1複製 4樣例輸入2複製 3 4樣例輸出2複製 6 1 當棋盤只有一行時,棋盤上全放上棋子即...
蒜頭君面試
蒜頭君來蒜廠面試的時候,曾經遇到這樣乙個面試題 給定 n 個整數,求裡面出現次數最多的數,如果有多個重複出現的數,求出值最大的乙個。當時可算是給蒜頭君難住了。現在蒜頭君來考考你。輸入格式 第一行輸入乙個整數n 1 n 100000 接下來一行輸入n個 int 範圍內的整數。輸出格式 輸出出現次數最多...