11066λ²: νμΌ ν©μΉκΈ° (acmicpc.net)
λ무 μ΄λ €μ λ .. νμΌ ν©μΉκΈ° .. λ§μ λΈλ‘κ±°λ€μ΄ ν¬μ€ν ν κΈμ λ΄λ μ΄ν΄κ° κ±°μ μκ°λ€ @_@.. γ γ γ
μ΅μ§λ‘ μΈμ°κ³ λ°λΌ μ¨λ³΄κ³ μ½λ κ·Έλλ‘ κ·Έλ¦Όμ κ·Έλ €λ³΄λ μ΄ν΄κ° κ°λ λ¬Έμ μμ΅λλ€..
λ€μ λ³΄κ³ λ λ€μ λ΄μΌ ν κ±° κ°μ΅λλ€.
<hide/>
for(int idx = 1; idx < K ; ++idx) {
for(int x = 1; x + idx <= K; ++x)
{
int y = x + idx;
dp[x][y] = 1000'000'007;
for(int mid = x; mid < y; ++mid)
{
dp[x][y] =
min(dp[x][y], dp[x][mid]+dp[mid+1][y]+sum[y]-sum[x-1]);
}
}
}
μ μ΄κ±Έ νλνλμ© λ―μ΄λ³΄λ©΄μ μ΄ν΄ν΄λ΄ μλ€..
40 30 30 50 μΌλ‘ μμλ₯Ό λ€μ΄λ΄ μλ€.
* DP[i][j]: i~jκΉμ§μ μ΅μν©μ λ΄μ ν μ΄λΈ
μ¦, μ°λ¦¬μ λͺ©μ μ DP[1][K]μ κ°μ μ°Ύλ κ²μ λλ€.
for(int idx = 1; idx < K ; ++idx) {
for(int x = 1; x + idx <= K; ++x) {
int y = x + idx;
for(int mid = x; mid < y; ++mid) {
}
}
}
μ΄ μμ μΌμ€μ½λμ K = 4λ₯Ό λμ νλ©΄ x, yλ μλμ κ°μ μν©λ€μ΄ λ§λ€μ΄μ§λλ€.
μ΄μ κ·Έ μμ μλ μ½λμ idx = 1μΈ μν©λΆν° 3μΈ μν©κΉμ§ λμ νκ² λλ©΄
dp[x][y] = min(dp[x][y], dp[x][mid]+dp[mid+1][y]+sum[y]-sum[x-1]);
Idx = 1 μΈ κ²½μ°
Idx = 2 μΈ κ²½μ°
Idx = 3 μΈ κ²½μ°
μν©μ΄ λμ΅λλ€.
νΉμ μ μ κ°μ΄ sum[y] - sum[x-1] λ체 μ νλκ±°μΌ? λΌκ³ μκ°νμλ λΆλ€μ΄ μμκΉλ΄ μ€λͺ ν΄λλ¦¬κ² μ΅λλ€.
μ΄μ λ κ°λ¨ν©λλ€. λ¬Έμ μμ κ·Έλ κ² μꡬνκΈ° λλ¬Έμ λλ€!
μ λ μμλ x: 1, y: 3μΈ κ²½μ°λ‘ λ€κ² μ΅λλ€.
β + β + β
μ¬κΈ°μ λΉ¨κ°μμ μ΄λ»κ² λνλ λμ ν©μ΄κΈ° λλ¬Έμ λλ€!!
λΉμ°νκ±°μλμΌ ? νλ μ¬λλ μκ² μ§λ§!! μ λ μ€λ«λμ μκ°νλ€λκ²!! ^^ κ·Έλ° μ¬λλ μμ΅λλ€ .. μλ€κ³ μ ..
μ€λμ μ΄ λ¬Έμ λ‘ λ©ν νν νΈλ¦° λ μ΄μμ΅λλ€ κ·ΈλΌ μ΄λ§ ...
#include <iostream>
using namespace std;
#define MAX 501
// λ κ°μ νμΌμ ν©μΉ λ νμν λΉμ©μ΄ λ νμΌ ν¬κΈ°μ ν©
//
int testcase;
int arr[MAX];
int sum[MAX];
int dp[MAX][MAX];
int main(void)
{
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> testcase;
while(testcase--)
{
int K;
cin >> K;
for(int i=1; i<=K; ++i) {
cin >> arr[i];
sum[i] = arr[i]+sum[i-1];
}
for(int idx = 1; idx <K ; ++idx) {
for(int x = 1; x + idx <= K; ++x)
{
int y = x + idx;
dp[x][y] = 2'147'483'600;
for(int mid = x; mid < y; ++mid)
{
dp[x][y] =
min(dp[x][y], dp[x][mid]+dp[mid+1][y]+sum[y]-sum[x-1]);
}
}
}
cout << dp[1][K] << "\n";
}
return 0;
}
'π coding test > β½ λ°±μ€' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
(λ°±μ€/ C++) 1644 - μμμ μ°μ ν© (0) | 2022.09.06 |
---|---|
(λ°±μ€/ C++) 4673 - μ ν λλ² (0) | 2022.09.02 |
(λ°±μ€/c++) 16139 - μΈκ°-μ»΄ν¨ν° μνΈμμ© (0) | 2022.06.27 |
(λ°±μ€/c++) 2559 - μμ΄ (0) | 2022.06.27 |
(λ°±μ€/c++) 10986 - λλ¨Έμ§ ν© (0) | 2022.06.24 |
μ νλ κ² λ³΄λ€ λ«κ² μ§
ν¬μ€ν μ΄ μ’μλ€λ©΄ "μ’μμβ€οΈ" λλ "ꡬλ ππ»" ν΄μ£ΌμΈμ!