nyoj 17】的更多相关文章

一,    最长递增子序列问题的描述 设L=<a1,a2,…,an>是n个不同的实数的序列,L的递增子序列是这样一个子序列Lin=<aK1,ak2,…,akm>,其中k1<k2<…<km且aK1<ak2<…<akm.求最大的m值.   二,算法:动态规划法:O(n^2) 设f(i)表示L中以ai为末元素的最长递增子序列的长度.则有如下的递推方程: 这个递推方程的意思是,在求以ai为末元素的最长递增子序列时,找到所有序号在L前面且小于ai的元素aj…
// nyoj 17        代码如上,用的是dp,总的来说就是对一个字符串 从末尾开始比较,设定一个数组,存放每个单调字串的最大长度,最后比较... //要注意的就是里面if语句对于每次字符比较后,更新数组,自己在纸上画画就清楚了... #include <iostream> #include <string.h> using namespace std; int main() { int i,j,len,dp[100]; char a[100]; cin>>a…
这是到动态规划的题目,属于有顺序的0 1 背包问题: 代码: #include<stdio.h> #include<string.h> ][]; //d[i][j] ]; int N; int max(int a, int b) { return a>b?a:b; } int solve(int i,int high) { ) return d[i][high]; if(i==N) { if(a[i]<high) ; else ; } if(a[i]<high)…
单调递增最长子序列 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 求一个字符串的最长递增子序列的长度如:dabdbf最长递增子序列就是abdf,长度为4   输入 第一行一个整数0<n<20,表示有n个字符串要处理随后的n行,每行有一个字符串,该字符串的长度不会超过10000 输出 输出字符串的最长递增子序列的长度 样例输入 3 aaa ababc abklmncdefg 样例输出 1 3 7 #include<stdio.h> #include…
17-单调递增最长子序列 内存限制:64MB 时间限制:3000ms Special Judge: No accepted:21 submit:49 题目描述: 求一个字符串的最长递增子序列的长度 如:dabdbf最长递增子序列就是abdf,长度为4 输入描述: 第一行一个整数0<n<20,表示有n个字符串要处理 随后的n行,每行有一个字符串,该字符串的长度不会超过10000 输出描述: 输出字符串的最长递增子序列的长度 样例输入: 复制 3 aaa ababc abklmncdefg 样例输…
来源:刘汝佳<算法竞赛入门经典--训练指南> P60 问题6: 问题描述:给定n个整数a1,a2,...,an,按从左到右的顺序选出尽量多的整数,组成一个上升子序列(子序列可以理解为:删除0个或多个数,其他的数顺序不变).比如,从序列1,6,2,3,7,5中,可以选上升子序列1,2,3,5,也可以选出1,6,7:但前者更长.选出的相邻元素不能相等. O(n^2)的时间复杂度思路分析:设d[i]为以i结尾的最长上升子序列的长度,则d[i]=Max{0,d[j](满足j<i,aj<a[…
#include<stdio.h> struct apple{ int m; int v; }app[1010]; int money(int i,int v); int main(){ int n,v; int x,y,z; while((scanf("%d%d",&n,&v))&&(n||v)){ for(x=0;x<n;x++){ scanf("%d %d",&app[x].v,&app[x].…
单调递增最长子序列 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 求一个字符串的最长递增子序列的长度如:dabdbf最长递增子序列就是abdf,长度为4   输入 第一行一个整数0<n<20,表示有n个字符串要处理随后的n行,每行有一个字符串,该字符串的长度不会超过10000 输出 输出字符串的最长递增子序列的长度 样例输入 3 aaa ababc abklmncdefg 样例输出 1 3 7 复习了利用二分搜索和额外空间解决最长递增子序列问题,最重要的是二…
NYOJ 119 士兵杀敌(三) RMQ ST 题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=119 思路: ST在线 预处理O(nlogn) 查询O(1) 运行时间:828ms 可以用31-__builtin_clz(r-l+1)来代替k=(int)(log(r-l+1.0)/log(2.0)) 这样还能稍快20ms 代码: #include <iostream> #include <stdio.h> #include…
http://blog.csdn.net/wangdan11111/article/details/45032519 http://acm.nyist.net/JudgeOnline/problem.php?pid=737 nyoj737 石子合并 详细 标签: 区间型动态规划nyoj737 2015-04-13 21:36 406人阅读 评论(0) 收藏 举报  分类: NYOJ(12)  动态规划(13)  版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 好吧, 也别…