略。。
什麼叫王中王啊。。要是比賽時調出來,直接從100+蹦到20整(
首先我們按行觀察矩陣,不難發現每行選擇的個數一定是非遞降的才能滿足題意,也就是每行不能選的比上一行多。
所以, 先設設 \(dp[i][j][k]\) 表示第 \(i\) 行 ,本行選了 \(j\) 個方塊,且總共選了 \(k\) 個方塊時的最大值。
因為我們在當前行,如果要選 \(r\) 個,只需要上一行選擇個數大於等於 \(r\) 即可。
如果直接列舉上一行選擇幾個,即列舉 \(r\leq j\) 的 \(j\) 的值顯然複雜度過大,所以我們對 \(j\) 這一維做一下字尾優化,即將 \(j\) 的定義改為:本行選了大於等於 \(j\) 個方塊。
這樣理論複雜度是 \(\theta(n*m*min(1000,n*m))\)
因為空間會炸(
所以將 \(i\) 的一維要換成滾動陣列。
#include #include #include #include #include #include #include #include #include using namespace std;
#define ll long long
#define ull unsigned long long
#define cint const int&
#define pi acos(-1)
const int mod = 1e9+7;
const int inf_int = 0x7fffffff;
const ll inf_ll = 0x7fffffffffffffff;
const double ept = 1e-9;
ll n, m, kk;
ll d[2][1001][301];
// 第i行總共選了j個方格且第i行選擇的方格數大於等於k的最大值
ll sum[301][301];
ll ans;
int main()
for(int i=1, st = 1; i<=n; i++, st ^= 1) }}
}cout << ans << endl;
return 0;
}
第十八節 快取
本節將通過對 2019 11 05 mynopcommerce vs19core2.2nop4.20 不刪,014 新增一些中介軟體的定義 程式進行重構,從而來實現授權功能。重構nop.web.framework.infrastructure.dependencyregistrar 類,重新定義 r...
程式設計第十八題
rpg girls今天和大家一起去遊樂場玩,終於可以坐上夢寐以求的過山車了。可是,過山車的每一排只有兩個座位,而且還有條不成文的規矩,就是每個女生必須找個個男生做partner和她同坐。但是,每個女孩都有各自的想法,舉個例子把,rabbit只願意和xhd或pqk做partner,grass只願意和l...
作業第十八周
1 請列出 nginx 常用模組的各個優缺點以及區別 ngx http auth basic module 實現基於使用者的訪問控制,使用basic機制進行使用者認證,優點 使用登陸對話方塊的方式實現使用者認證,缺點 認證檔案依賴httpd tools軟體包。ngx http stub status...