我們稱乙個矩陣是下降矩陣,當且僅當,矩陣的每一列都是嚴格下降的。很顯然,這個要求很苛刻,大多數矩陣都無法滿足。但是顯然如果消去一些行,一定可以使得這個矩陣變成下降矩陣。
現在給出乙個n行m列的矩陣,請你求出最少消去多少行,可以使得這個矩陣變為下降矩陣。
輸入第一行包含兩個正整數n,m分別表示矩陣的行數和列數。(1<=n,m<=300)
接下來n行,每行有m個數,中間用空格隔開,每個數都小於2^31.
輸出僅包含乙個整數,即最少消去的行數。
樣例輸入 copy
1 31 2 3
樣例輸出 copy
0題意:
題解:直接改寫一下經典的lis中if判斷的那一點即可, 注意開long long
經驗小結:
我tm竟然在場上被這題卡了倆小時
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace std;
#define ms(x, n) memset(x,n,sizeof(x));
typedef
long
long ll;
const
int inf =
1<<30;
const ll maxn =
305;
int n, m, a[maxn]
[maxn]
;ll dp[maxn]
;bool
check
(ll x, ll y)
intmain()
cout << n-cnt << endl;
return0;
}
最大下降矩陣 河南省賽ccpc
題目描述 我們稱乙個矩陣是下降矩陣,當且僅當,矩陣的每一列都是嚴格下降的。很顯然,這個要求很苛刻,大多數矩陣都無法滿足。但是顯然如果消去一些行,一定可以使得這個矩陣變成下降矩陣。現在給出乙個n行m列的矩陣,請你求出最少消去多少行,可以使得這個矩陣變為下降矩陣。輸入輸入第一行包含兩個正整數n,m分別表...
CCPC2019河南省賽 最大下降矩陣
這道題目是求最長上公升序列的變形題,在求最長上公升序列的時候,我們定義dp陣列來儲存每個位置上對應的符合條件的狀態量,遍歷,當前面有小於自身的數的時候,dp就更新和自身以及小於自身數 1取最大值,這裡對應的思想就是,如果前面出現了比某個數大的數,這個數就可以加到前面數字後面,構成新長度的序列.這道題...
咕咕的的復復讀讀機機 ccpc河南省賽
題目描述 咕咕一直想買臺復讀機,今天他終於走進了一家賣復讀機的小店!這裡有很多很多的復讀機,咕咕看中 了一台相貌平平無奇的,他決定試用一下這台復讀機的功能。然而,當他開啟復讀機的開關後,復讀機 說了 n 個數字,而且這些數字不完全一樣 作為一台復讀機,怎麼會這樣呢?看到滿臉疑惑的咕咕,店員說道 這是...