题目链接:POJ 1631 Bridging
signals【题意】简单来说就是求最长上升子序列的长度。【思路】这道题目的数据规模有40000之多,如果用普通的动态规划O(n^2)肯定会超时的,所以要用上二分查找(又是二分啊,真牛逼)来进行优化,O(nlogn)的时间复杂度就OK了。我使用了C++的...
分类:
其他好文 时间:
2014-05-19 10:09:54
阅读次数:
357
首先求最多能拦截多少颗导弹,则是求一个最长下降子序列的问题。。则找到动态转移方程。。
dp[i]=max(dp[j])+1,ja[i],因为dp[j]所表示的就是一个有序下降子序列。。。所以加进来也将是一个有序上升数列。。
然后是最少需要多少套导弹系统。。。有点贪心的做法。。就是要拦截导弹,尽量用小的去拦截可以拦截的导弹。。最后得到的导弹系统套数是最少的。。
题目链接:
http://...
分类:
其他好文 时间:
2014-05-18 18:31:47
阅读次数:
210
举个例子,如字符串 ababc
首先,不考虑空字符,所有的前缀有a, ab, aba, abab, ababc,其中真前缀有a, ab, aba, abab
同理可以理解后缀,真前(后)缀就是指不包含自身的前(后)缀
前缀函数next[j]是指某个字符串的最长真后缀同时也是它的前缀的子串长度。不太理解可以看下面的例子
a -> 0
ab -> 0
aba -> 1
abab -> 2...
分类:
其他好文 时间:
2014-05-18 18:29:02
阅读次数:
993
编程实现求一棵二叉树的最短树路径和最长树路径...
分类:
其他好文 时间:
2014-05-18 10:26:44
阅读次数:
253
有向无环图(DAG,Directed Acyclic Graph)上的动态规划是学习动态规划的基础。很多问题都可以转化为DAG上的最长路、最短路或路径计数问题。
题目描述:
有n个矩形,每个矩形可以用两个整数a,b描述,表示它的长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a
分析:
矩形之间的"可嵌套"关系是一个典型的二元关...
分类:
其他好文 时间:
2014-05-18 07:20:52
阅读次数:
248
dp[i]=max(dp[i],dp[j]+1) ja[i]
dp[i]表示长度为i的最长下降子序列的长度。
r[i]表示长度为i的最长下降子序列的方案数。
考虑这样一个问题,比如6 3 9 3,对于两个3,他们数字一样并且dp值也一样,那么r[2]的方案数是没有意义的
因为能通过第一个3扩展的也能通过第二个3扩展,所以直接把r[2]=0。
对于一次扩展若dp[j]+1==dp[i],则...
分类:
其他好文 时间:
2014-05-18 06:31:43
阅读次数:
249
串“abcba”以字母“c”为中心左右对称;串“abba” 是另一种模式的左右对称。这两种情况我们都称这个串是镜像串。特别地,只含有1个字母的串,可以看成是第一种模式的镜像串。
一个串可以含有许多镜像子串。我们的目标是求一个串的最大镜像子串(最长的镜像子串),如果有多个最大镜像子串,对称中心靠左的优先选中。例如:“abcdeefghhgfeiieje444k444lmn”的最大镜像...
分类:
其他好文 时间:
2014-05-18 06:22:24
阅读次数:
169
挺经典的DP题目,LCS变形,注意边界处理!...
分类:
其他好文 时间:
2014-05-18 03:41:21
阅读次数:
339
1. 题目:给定一条最长边,求所有可能的毕达哥拉斯三角形。2.
实验要求:一个毕达哥拉斯三角形的三条边是由三个正整数A、B和C组成,从而A2+B2=C2。例如,数字3、4、5,由于9+16=25,而形成一个毕达哥拉斯三角形。写一段完整的汇编程序,实现输入一个值给C,然后显示值为C时,所有可能的毕达哥...
分类:
编程语言 时间:
2014-05-17 23:42:36
阅读次数:
424
作业题描述小白同学这学期有一门课程叫做《数值计算方法》,这是一门有效使用数字计算机求数学问题近似解的方法与过程,以及由相关理论构成的学科……今天他们的Teacher
S,给他们出了一道作业题。Teacher S给了他们很多的点,让他们利用拉格朗日插值公式,计算出某严格单调函数的曲线。现在小白抄下了这...
分类:
其他好文 时间:
2014-05-17 22:31:51
阅读次数:
414