题目:编辑距离,给你两个串,将已知串转化成目标串,可以增、删、改字母,求最小操作次数。
分析:dp,编辑距离。同最大公共子序列。注意操作位置是实时变化的。(前面都已经处理好了)
f[i][j] = f[i-1][j] 这时删掉 str1[j+1];
f[i][j] = f[i][j-1]...
分类:
其他好文 时间:
2014-07-31 00:02:25
阅读次数:
282
题目链接:uva 1485 - Permutation Counting
题目大意:给定n和k,要求求一个由1~n组成的序列,要求满足ai>i的i刚好有k个的序列种数。
解题思路:dp[j][i]表示长度为i,j个位置满足的情况。
dp[j+1][i]+=dp[j][i]?(j+1);
1, (3), (4), 2: 括号位置代表ai>i,既满足位置,此时i
= 4...
分类:
其他好文 时间:
2014-07-31 00:00:55
阅读次数:
227
题目链接:uva 1489 - Math teacher's homework
题目大意:给定n,k,以及序列m1,m2,…,mn,
要求找到一个长度为n的序列,满足0=xi=mi,
并且x1XORx2XOR…XORxn=k
解题思路:数位dp,在网上看了别人的代码,高大上。。。
假设有二进制数 k : 00001xxxx
mi:0001xxxxx,
那么对于xi即可...
分类:
其他好文 时间:
2014-07-30 23:59:05
阅读次数:
692
一、需求分析一个表达式和一棵树之间存在自然的对应关系,实现以下操作:(1)以字符序列的形式输入语法正确的后缀表达式并构造表达式。(2)可实现对应原表达式的加、减、乘、除四则混合运算。(3)运算数可以是整数、实数或变量,若是变量,可对变量赋值,以求得对应原表达式的值。(4)可以求表达式的中缀和后缀序列...
分类:
其他好文 时间:
2014-07-30 23:33:45
阅读次数:
267
日志工具对象logger应声明为private static final1、声明为private是出于安全性考虑,防止logger对象被其他类非法使用2、声明为static是为了防止重复new出logger对象,造成资源的浪费,同时防止logger被序列化,造成安全风险;(lib库设计除外)3、声明...
分类:
其他好文 时间:
2014-07-30 23:27:15
阅读次数:
411
最长公共子序列的变形题目大意:给出两个基因序列,求这两个序列的最大相似度。题目中的表格给出了两两脱氧核苷酸的相似度。状态转移方程为:dp[i][j] = max(dp[i-1][j]+Similarity(s1[i], '-'), dp[i][j-1]+Similarity(s2[...
分类:
其他好文 时间:
2014-07-30 20:33:04
阅读次数:
176
http://acm.hdu.edu.cn/showproblem.php?pid=1016题意:给你一个数n,让1~n数形成相邻两个数的和是个素数的环,并把环的序列输出 1 #include 2 #include 3 #include 4 #define maxn 100 5 using n...
分类:
其他好文 时间:
2014-07-30 20:29:04
阅读次数:
202
最简单最基本的最长公共子序列的题目。吐槽一下为何没有给数据范围。。 1 //#define LOCAL 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 const int maxn = 1010;...
分类:
其他好文 时间:
2014-07-30 20:26:44
阅读次数:
214
还是最长上升子序列。。。本题是求队列中任一士兵都能从左边或者右边看到队伍外;即某一士兵左边为上升子序列,右边为下降子序列。求两个序列和,再用总数减去; 1 #include 2 #include 3 #include 4 #include 5 #define maxn 1005 6 usin...
分类:
其他好文 时间:
2014-07-30 20:25:45
阅读次数:
185