第十八屆浙大城市學院程式設計競賽(同步賽)K

2022-07-13 10:57:11 字數 1102 閱讀 5723

略。。

什麼叫王中王啊。。要是比賽時調出來,直接從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...