南洋理工oj 37
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了南洋理工oj 37相关的知识,希望对你有一定的参考价值。
思路:
输入字符串S;设sum要插入字符的最小值
从两端出发前端x=0;后端y=L-1;
首先,如果S[0]!=S[L-1],此时要么在最前面添字符,要么在末尾添字符,sum++;(这是无法避免的)
然后,S[0]=S[L-1],此时前端x +1,后端y-1;
注意递归出口:前段>后端(x>y),此时为0;
递归算法最重要的是先明确函数的参数含义以及函数实现的功能。这题是实现在pos=x到pos=y这段字符要添加的最小字符数
还有数组保存递归结果的模板
#include<stdio.h> #include<string.h> #define min(a,b) (a<b?a:b) char a[1001]; int f[1001][1001]; int dp(int x,int y) { if(f[x][y]!=-1) return f[x][y]; if(x>=y) { f[x][y]=0; return f[x][y]; } if(a[x]==a[y]) { f[x][y]=dp(x+1,y-1); return f[x][y]; } f[x][y]=min(dp(x+1,y),dp(x,y-1))+1; return f[x][y]; } int main() { int N; scanf("%d",&N); while(N--) { scanf("%s",a); memset(f,-1,sizeof(f)); printf("%d\\n",dp(0,strlen(a)-1)); } return 0; }
以上是关于南洋理工oj 37的主要内容,如果未能解决你的问题,请参考以下文章
科研一对一 | 南洋理工大学 | 机器学习计算机科学:隐私保护的机器学习机制研究
一举打败16个同类模型,视频超分比赛冠军算法入选CVPR 2022,来自商汤&南洋理工大学...