背包的~~牛马~~优化

P1776 宝物筛选

哦哦,你这什么鬼玩意不就是暴力吗,建议学习二进制分组。
by irris @ 2022-07-02 20:52:33


我完全看不出来你的状态转移方程在哪里
by Tz_Obopn233 @ 2022-07-02 21:08:14


全代码 ```cpp #include<iostream> #include<cstring> using namespace std; int main() { int N, W,sum=0; int objectWeight[100001]; int objectValue[100001]; int DP[40001]; ios::sync_with_stdio(0), cin.tie(0); cin >> N >> W; for (int i = 1, v, w, m; i <= N; i++) { cin >> v >> w >> m; if(m*w<=W) while(m){ sum++; objectValue[sum]=v; objectWeight[sum]=w; m--; } else{ m=W/w+1; while(m){ sum++; objectValue[sum]=v; objectWeight[sum]=w; m--; } } } memset(DP,0,4*W+4); for (int i = 1; i <= sum; i++) for (int j = W; j >= objectWeight[i]; j--) DP[j] = max(DP[j], DP[j - objectWeight[i]] + objectValue[i]); cout<<DP[W]; return 0; } ```
by idgg007 @ 2022-07-02 21:09:28


@[Tz_Obopn233](/user/321344)
by idgg007 @ 2022-07-02 21:09:39


666
by Sellaris @ 2022-07-02 21:17:09


这算tlqtj吗
by TernaryTree @ 2022-07-02 21:34:33


tlqtj,jbl
by osfly @ 2022-07-02 21:42:37


@[AlgorithmerSnow](/user/419487) 但是这题 $\sum m_i \leq 1e5$,所以能过
by sunrise1024 @ 2022-07-02 21:43:49


所以严格来讲这玩意算不上优化吧?
by sunrise1024 @ 2022-07-02 21:44:42


如果你连这都算是优化的话(因为其实出题人想卡你完全可以让你那个 if 毫无用处),那我把 i++ 改成 ++i 是不是也是巨大的优化?
by irris @ 2022-07-02 21:46:30


|