NYOJ 17 单调递增最长子序列
来源:互联网 发布:武汉软件工程学院路线 编辑:程序博客网 时间:2024/06/06 05:41
单调递增最长子序列
时间限制:3000 ms | 内存限制:65535 KB
难度:4
- 描述
- 求一个字符串的最长递增子序列的长度
如:dabdbf最长递增子序列就是abdf,长度为4- 输入
- 第一行一个整数0<n<20,表示有n个字符串要处理
随后的n行,每行有一个字符串,该字符串的长度不会超过10000 - 输出
- 输出字符串的最长递增子序列的长度
- 样例输入
3aaaababcabklmncdefg
- 样例输出
137
- 来源
- 经典题目
- 上传者
iphxer
#include<stdio.h>#include<string.h>int dp[10010];char a[10010];int main(){ int n,i,j,alen; int max; scanf("%d",&n); getchar(); while(n--){ memset(dp,0,sizeof(dp)); gets(a); alen=strlen(a); for(i=0;i<alen;i++){ dp[i]=1; for(j=0;j<i;j++){ if(a[i]>a[j]){ if(dp[i]<dp[j]+1) dp[i]=dp[j]+1; } } } max=0; for(i=0;i<alen;i++) if(max<dp[i]) max=dp[i]; printf("%d\n",max); } return 0;}
优秀代码,有点看不懂:#include<stdio.h>int length(char * s){ int len[128] = {0}, i, t; for(; *s != '\0' && (t = len[*s - 1] + 1); s++) for(i = *s; i < 128 && len[i] < t; len[i++] = t); return len[127];}int main(){ int n; char s[10001]; for(scanf("%d\n", &n); n--;) printf("%d\n", length(gets(s))); return 0;}
0 0
- NYOJ-17:单调递增最长子序列
- NYOJ 17 单调递增最长子序列
- NYOJ 17 单调递增最长子序列
- NYOJ 17-单调递增最长子序列
- nyoj-17-单调递增最长子序列
- NYOJ 17 单调递增最长子序列
- NYOJ 17 单调递增最长子序列
- NYOJ 17 最长单调递增子序列
- nyoj 17 单调递增最长子序列
- NYOJ 17 单调递增最长子序列
- nyoj 17 单调递增最长子序列
- nyoj 17 单调递增最长子序列
- nyoj 17 单调递增最长子序列
- nyoj 17 单调递增最长子序列
- NYOJ 17 单调递增最长子序列
- 单调递增最长子序列(NYOJ 17)
- nyoj-17 单调递增最长子序列
- NYOJ 单调递增最长子序列 17
- 导入 p12 时的对话框出来,是选择 login 还是 system?有什么区别吗?
- Suricata配置文件说明2
- GTxxxx系列------irq电压偏低
- COCOS学习笔记--Menu菜单系统
- 第二周项目-小试循环
- NYOJ 17 单调递增最长子序列
- 匿名内部类
- 阿里巴巴-高德地图-2016春季实习生招聘
- OpenStack Hacker养成指南
- 第七章ContentProvider
- AngularJS学习(MVVM框架入门)
- spring aop 与 aspectj
- tinyos学习笔记11--DHT11驱动及测试程序
- Android Studio使用--Android Device Monitor doesnt open