質問編集履歴
3
書式の改善です
title
CHANGED
File without changes
|
body
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
|
10
10
|
|
11
11
|
リンク先のコードです
|
12
|
-
C++(GCC 9.2.1)
|
12
|
+
```C++(GCC 9.2.1)
|
13
13
|
#include<bits/stdc++.h>
|
14
14
|
using namespace std;
|
15
15
|
|
@@ -42,4 +42,5 @@
|
|
42
42
|
}
|
43
43
|
|
44
44
|
cout << dp[w][n - 1] << endl;
|
45
|
-
}
|
45
|
+
}
|
46
|
+
```
|
2
リンク先のコードをこちらにも追記しておきます。
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,4 +5,41 @@
|
|
5
5
|
提出したコードおよび問題は以下のリンクです。
|
6
6
|
[Educational DP Contest D-Knapsack 1](https://atcoder.jp/contests/dp/submissions/27496390)
|
7
7
|
|
8
|
-
何卒よろしくお願い申し上げます。
|
8
|
+
何卒よろしくお願い申し上げます。
|
9
|
+
|
10
|
+
|
11
|
+
リンク先のコードです
|
12
|
+
C++(GCC 9.2.1)
|
13
|
+
#include<bits/stdc++.h>
|
14
|
+
using namespace std;
|
15
|
+
|
16
|
+
|
17
|
+
int main() {
|
18
|
+
long long n, w;
|
19
|
+
cin >> n >> w;
|
20
|
+
long long wei[n], val[n];
|
21
|
+
long long dp[200010][110];
|
22
|
+
|
23
|
+
for (long long i = 0; i < n; i++){
|
24
|
+
cin >> wei[i] >> val[i];
|
25
|
+
}
|
26
|
+
|
27
|
+
for (long long i = 0; i < 200010; i++){
|
28
|
+
for (long long j = 0; j < 110; j++){
|
29
|
+
dp[i][j] = 0;
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
dp[wei[0]][0] = val[0];
|
34
|
+
dp[wei[0]][1] = val[0];
|
35
|
+
|
36
|
+
for (long long i = 1; i < n; i++){
|
37
|
+
for (long long j = 0; j < w; j++){
|
38
|
+
dp[j + wei[i]][i] = max(dp[j + wei[i]][i], max(dp[j + wei[i]][i], dp[j][i - 1] + val[i]));
|
39
|
+
dp[j + wei[i]][i + 1] = dp[j + wei[i]][i];
|
40
|
+
dp[j + wei[i] + 1][i] = max(dp[j + wei[i] + 1][i], dp[j + wei[i]][i]);
|
41
|
+
}
|
42
|
+
}
|
43
|
+
|
44
|
+
cout << dp[w][n - 1] << endl;
|
45
|
+
}
|
1
言語について記述し忘れていたので、修正いたしました。
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
ナップサック問題が解けなくて困っています
|
1
|
+
C++でナップサック問題が解けなくて困っています
|
body
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
最近プログラミングを始めた初心者なのですが、最近dpを学び始めました。
|
2
2
|
|
3
|
-
次の問題に提出をしたのですが、ACが出なくて困っています。色々と問題がありそうなところは修正してみたのですが、どうにも入力されるデータが大きいと正しい答えが出力できていないようです。どなたか、アドバイスお願いします。
|
3
|
+
次の問題に提出をしたのですが、ACが出なくて困っています。色々と問題がありそうなところは修正してみたのですが、どうにも入力されるデータが大きいと正しい答えが出力できていないようです。言語はC++(GCC 9.2.1)です。どなたか、アドバイスお願いします。
|
4
4
|
|
5
5
|
提出したコードおよび問題は以下のリンクです。
|
6
6
|
[Educational DP Contest D-Knapsack 1](https://atcoder.jp/contests/dp/submissions/27496390)
|