CCPC河南省賽 最大下降矩陣 LIS

2021-09-18 06:51:51 字數 1000 閱讀 1316

我們稱乙個矩陣是下降矩陣,當且僅當,矩陣的每一列都是嚴格下降的。很顯然,這個要求很苛刻,大多數矩陣都無法滿足。但是顯然如果消去一些行,一定可以使得這個矩陣變成下降矩陣。

現在給出乙個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 個數字,而且這些數字不完全一樣 作為一台復讀機,怎麼會這樣呢?看到滿臉疑惑的咕咕,店員說道 這是...