04 2014 档案
摘要:题意描述:有两个长度分别为p+1和q+1的序列,每个元素中的各个元素互不相同。都是1~n^2之间的整数,求A和B的最长公共子序列。(2 2 #include 3 #include 4 using namespace std; 5 const int maxn=251*251; 6 const int...
阅读全文
摘要:题目描述:LIS(Longest Increasing Subsequence)模板题分析:O(n^2)的方法 状态表示:d[i]表示以i结尾的最长上升子序列长度 转移方程:d[i]=max{ 1,d(j)+1 } ( j=1,2,3,...,i-1且A[j]=A[i],d[i]=1 1...
阅读全文
摘要:问题1:最长上升子序列问题(LIS)分析:设d(i)为以i为结尾的最长上升子序列的长度,则d(i)=max{ 1 , d(j)+1} ( j的值为1,2,3,...,i-1且Aja且i>b)来说,a并不会比b差——如果b满足 Abg[len],把A[i]接在g[len]之后得到一个更长的上升子序列,...
阅读全文
摘要:题目描述:给出一些不同面值的硬币,每个硬币只有一个。将这些硬币分成两堆,并且两堆硬币的面值和尽可能接近。分析:将所有能够取到的面值数标记出来,然后选择最接近sum/2的两个面值 状态表示:d[j]表示用当前给定的硬币是否可以凑得总面值j 转移方程:d[j]=d[ j-coin[i...
阅读全文
摘要:题目描述:N(1=0&&h[j] 2 int T,n,h[50005],num[50005],left[50005]; 3 int main() 4 { 5 scanf("%d",&T); 6 while(T--) 7 { 8 scanf("%d",&n); ...
阅读全文
摘要:题目描述:最长公共子序列的变形 题目序列中第i项是学生给第i号历史事件排出的序号,另外还给出了第i号历史事件的正确序号 求按照学生给出的序号排好历史事件后,所得的事件排序与历史事件实际发生的序列的最长公共子序列分析:本题最坑的地方是审题,注意题目给出的是给第i号历史事件排出序...
阅读全文
摘要:题目描述:求最长公共子序列 若给定序列X={x1,x2,...,xm},另一序列Z={z1,z2,...,zk},是X的子序列是指存在一个严格递增的下标序列{i1,i2,...,ik}使得对所以j=1,2,...,k有zj=x(ij) 例如Z={B,C,D,B}是序列X={A...
阅读全文
摘要:问题描述:求最大连续字串分析:一道简单的DP,状态转移方程是d[i] = ( d[i-1]+a[i] > a[i] ) ? d[i-1]+a[i] : a[i] d[i]表示以第i个数字结尾的连续字串的最大值,限制条件是 d[0]=0 题目要求找出最大连续字串的首尾序号,尾序号显然是d[...
阅读全文
摘要:这是我写的第一篇博文,先简单说说今天的状态吧,毕竟我的第一篇博文是今天诞生的。这学期开学以来各种乱忙,开学初准备高数竞赛决赛,而后有一段时间疯狂学习英语,一直到前几天国创项目中的任务,准备数模竞赛,上周开始了uva上的刷题,这几样事务进行的同时还穿插着学生会学术部的学生工作。这两天真心累了,压力很...
阅读全文