Skip to content

Commit 6463aa3

Browse files
committed
9mean 20200730 solved
1 parent b466496 commit 6463aa3

File tree

2 files changed

+78
-0
lines changed

2 files changed

+78
-0
lines changed

9mean/20200730/11066.txt

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
#include <stdio.h>
2+
#include <algorithm>
3+
#include <cstring>
4+
5+
using namespace std;
6+
7+
8+
9+
int dp[501][501];
10+
int f[501];
11+
int sum[501];
12+
13+
int func(int s, int e){
14+
if (s >= e) return 0;
15+
16+
if (dp[s][e] != -1) return dp[s][e];
17+
if (e == s + 1) return f[s] + f[e];
18+
19+
dp[s][e] = 123456789;
20+
for (int i = s; i <= e; i++){
21+
int tmp = func(s, i) + func(i + 1, e) + sum[e] - sum[s - 1];
22+
dp[s][e] = min(dp[s][e], tmp);
23+
}
24+
return dp[s][e];
25+
}
26+
27+
int main(){
28+
29+
30+
int t;
31+
scanf("%d",&t);
32+
while (t--){
33+
int n;
34+
scanf("%d",&n);
35+
for (int i = 1; i <= n; i++){
36+
scanf("%d",&f[i]);
37+
sum[i] = sum[i - 1] + f[i];
38+
}
39+
for (int i = 1; i <= n; i++){
40+
for (int j = 1; j <= n; j++){
41+
dp[i][j] = -1;
42+
}
43+
}
44+
printf("%d\n",func(1, n) );
45+
}
46+
return 0;
47+
}

9mean/20200730/9251.txt

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#include <stdio.h>
2+
#include <algorithm>
3+
#include <cstring>
4+
#include <stdlib.h>
5+
using namespace std;
6+
7+
8+
int main() {
9+
int dp[1001][1001];
10+
char a[1001],b[1001];
11+
memset(dp,0,sizeof(dp));
12+
scanf("%s",&a);
13+
getchar();
14+
scanf("%s",&b);
15+
getchar();
16+
int alen=strlen(a);
17+
int blen=strlen(b);
18+
19+
for(int i=1;i<=alen;i++){
20+
for(int j=1;j<=blen;j++){
21+
if(a[i-1]==b[j-1]){
22+
dp[i][j]+=dp[i-1][j-1]+1;
23+
}
24+
else{
25+
dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
26+
}
27+
}
28+
}
29+
printf("%d",dp[alen][blen]);
30+
return 0;
31+
}

0 commit comments

Comments
 (0)