【杭电多校2020】Lead of Wisdom【搜索】【复杂度证明】
題意:nnn件物品,每種物品有一個種類tit_iti?,四個屬性ai,bi,ci,dia_i,b_i,c_i,d_iai?,bi?,ci?,di?,每個種類最多選一件物品,求
(100+∑ai)(100+∑bi)(100+∑ci)(100+∑di)(100+\sum a_i)(100+\sum b_i)(100+\sum c_i)(100+\sum d_i)(100+∑ai?)(100+∑bi?)(100+∑ci?)(100+∑di?)
的最大值
n,ti≤50,ai,bi,ci,di≥1,T≤10n,t_i\leq 50,a_i,b_i,c_i,d_i\geq 1,T\leq 10n,ti?≤50,ai?,bi?,ci?,di?≥1,T≤10
顯然對于有物品的種類一定會選一個
設種類iii的物品數為cnticnt_icnti?。注意到∑cnti≤50\sum cnt_i\leq 50∑cnti?≤50,所以暴搜復雜度為O(∏max?(1,cnti))O(\prod \max(1,cnt_i))O(∏max(1,cnti?))。根據小學奧數,最壞情況為316×2×103^{16}\times 2\times 10316×2×10,可以通過。
注意對于cnti=0cnt_i=0cnti?=0的iii,如果在遞歸時跳到下一層,會把搜索樹上下一層的結點復制一遍,而上面的最壞情況會復制333333次,會TLE。解決方法是在搜索前把沒有物品的種類刪掉。
代碼略
總結
以上是生活随笔為你收集整理的【杭电多校2020】Lead of Wisdom【搜索】【复杂度证明】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新年适合发朋友圈的一句话 适合发圈的新年
- 下一篇: 【杭电多校2020】Go Running