luyencode / comments

Server lưu trữ bình luận trên Luyện Code
https://luyencode.net
6 stars 3 forks source link

https://oj.luyencode.net/problem/PROJECT #686

Open utterances-bot opened 2 years ago

utterances-bot commented 2 years ago

Dự án - Luyện Code Online

https://luyencode.net/problem/PROJECT

nmihtrug commented 2 years ago

Knapsack thôi mấy bạn :v

ghost commented 2 years ago

Đây là lời giải của mình đã AC bằng QHD. Nếu bạn đã cố gắng mà chưa làm được thì có thể tham khảo lời giải của mình.

Xem code AC

```cpp #include #define FOR(i, l, r) for(int i = l; i <= r; ++i) #define FOD(i, l, r) for(int i = l; i >= r; --i) #define ll long long #define ug unsigned long long using namespace std; // Topic variable. int n, s; int c[30], p[30]; // Auxiliary variable. int f[30][30100]; //___________________ int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cin >> n >> s; FOR(i, 1, n) { cin >> c[i]; } FOR(i, 1, n) { cin >> p[i]; } FOR(i, 1, n) { FOR(j, 1, s) { if (c[i] <= j) { f[i][j] = max(f[i-1][j-c[i]] + p[i], f[i-1][j]); } else f[i][j] = f[i-1][j]; } } cout << f[n][s]; return 0; } ```

nhileomao2810 commented 2 years ago

Chungcake PB2

SweetNoodleV02 commented 1 year ago

xâu con tổng bằng s, mảng f lưu trọng số lợi nhuận, kết quả là max trong mảng f. Đây là lời giải của mình đã AC. Nếu bạn đã cố gắng mà chưa làm được thì có thể tham khảo lời giải của mình.

Xem code AC

#include using namespace std; int a[26], b[26], f[1000]={}; int main(){ int n,s,m=1e9, m1=-1e9; cin>>n>>s; for(int i=1; i<=n; i++){ cin>>a[i]; m=min(m, a[i]); } for(int i=1; i<=n; i++) { cin>>b[i]; } if(s=a[i]; j--){ if(f[j-a[i]] || j-a[i]==0){ f[j]=max(f[j], f[j-a[i]] + b[i]); m1=max(m1, f[j]); } } } cout<

SweetNoodleV02 commented 1 year ago

code trên sửa lại phần tử f =30001 là ac nhé ae