CSP初赛复习-28-动态规划-练习题
PDF及答案公众号回复关键字:CSPC28
阅读程序
1
#include <iostream>
using namespace std;
int main()
{
const int SIZE = 100;
int height[SIZE], num[SIZE], n, ans;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>height[i];
num[i] = 1;
for(int j=0;j<i;j++)
{
if ((height[j]<height[i])&&(num[j]>=num[i]))
num[i] =num[j]+1;
}
}
ans=0;
for (int i=0;i<n;i++)
{
if (num[i]>ans) ans=num[i];
}
cout<<ans<<endl;
}
/*
输入
6
2 5 3 11 12 4
输出
?
*/
2
#include <iostream>
using namespace std;
int lps(string seq,int i,int j)
{
int len1,len2;
if (i==j)
return 1;
if (i>j)
return 0;
if (seq[i]==seq[j])
return lps(seq,i+1,j-1)+2;
len1=lps(seq,i,j-1);
len2=lps(seq,i+1,j);
if(len>len2)
return len1;
return len2;
}
int main()
{
string seq="acmerandacm";
int n = seq.size();
cout<<lps(seq,0,n-1)<<endl;
return 0;
}
/*
输出
?
*/
作者:newcode 更多资源请关注纽扣编程微信公众号
从事机器人比赛、机器人等级考试、少儿scratch编程、信息学奥赛等研究学习