摘要: 子序列的个数 给定一个正整数序列,序列中元素的个数和元素值大小都不超过105, 求其所有子序列的个数。注意相同的只算一次:例如 {1,2,1}有子序列{1} {2} {1,2} {2,1}和{1,2,1}。最后结果对10^9 + 7取余数。 输入 第1行:一个数N,表示序列的长度(1 <= N <= 阅读全文
posted @ 2016-07-26 22:15 贱人方 阅读(592) 评论(0) 推荐(0) 编辑
摘要: 最长单增子序列 (LIS Longest Increasing Subsequence)给定一个数列,从中删掉任意若干项剩余的序列叫做它的一个子序列,求它的最长的子序列,满足子序列中的元素是单调递增的。 输入 第1行:1个数N,N为序列的长度(2 <= N <= 50000) 第2 - N + 1行 阅读全文
posted @ 2016-07-26 22:12 贱人方 阅读(759) 评论(0) 推荐(0) 编辑
摘要: 更难的矩阵取数问题 给定一个m行n列的矩阵,矩阵每个元素是一个正整数,你现在 在左上角(第一行第一列),你需要走到右下角(第m行,第n列),每次只能朝右或者下走到相邻的位置,不能走出矩阵。然后再从右下角返回到左上角,这时只 能朝上或者左走,两次如果经过同一个格子,则该数字只计算一次,所有走过的数的总 阅读全文
posted @ 2016-07-26 22:06 贱人方 阅读(683) 评论(0) 推荐(0) 编辑
摘要: 多重背包问题 一个背包,承量有限为W,有n种物体,第i种物体,价值Vi,占用重量为 Wi,且有Ci件,选择物品若干放入背包,使得总重量不超过背包的承重。总价值最大? 输入 第1行,2个整数,N和W中间用空格隔开。N为物品的种类,W为背包的容量。(1 <= N <= 100,1 <= W <= 500 阅读全文
posted @ 2016-07-26 22:02 贱人方 阅读(4888) 评论(2) 推荐(0) 编辑
摘要: 循环数组最大子段和 输入 第1行:整数序列的长度N(2 <= N <= 50000) 第2 - N+1行:N个整数 (-10^9 <= S[i] <= 10^9) 输出 输出循环数组的最大子段和。 输入示例 6 -2 11 -4 13 -5 -2 输出示例 20 请选取你熟悉的语言,并在下面的代码框 阅读全文
posted @ 2016-07-26 21:58 贱人方 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 最大子矩阵和 一个M*N的矩阵,矩阵中有一些整数(有正有负),找到此矩阵的一个子矩阵,并且这个子矩阵的元素的和是最大的,输出这个最大的值。 输入 第1行:M和N,中间用空格隔开(2 <= M,N <= 500)。 第2 - N + 1行:矩阵中的元素,每行M个数,中间用空格隔开。(-10^9 <= 阅读全文
posted @ 2016-07-26 21:56 贱人方 阅读(386) 评论(0) 推荐(0) 编辑