摘要:
求最长公共子序列长度 题干 给定两个长度分别为 N 和 M 的字符串 A 和 B,求既是 A 的子序列又是 B 的子序列的字符串长度最长是多少。 输入格式 第一行包含两个整数 N 和 M。 第二行包含一个长度为 N 的字符串,表示字符串 A。 第三行包含一个长度为 M 的字符串,表示字符串 B。 字 阅读全文
摘要:
二分法 分析 大神的视频讲解链接 常见的查找边界问题: 最不易出错的解法: 初始l、r设为数组边界两端分别往外扩展一个单位,这样可以保证数组长度只有1位或其它情况时不会陷入死循环。 伪代码: // 以数组int a[N]为例,实际数据所在下标为0~N-1 l = -1, r = N; while l 阅读全文
摘要:
废话不多说,代码如下: #include<bits/stdc++.h> using namespace std; const int N = 1010; int a[N], f[N]; int main(){ int n; scanf("%d", &n); for(int i = 1; i <= n 阅读全文
摘要:
多重背包问题 I 问题描述: 有 N 种物品和一个容量是 V 的背包。 第 ii 种物品最多有 si 件,每件体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。 输出最大价值。 跟前面的背包问题解题思路差不多,相比较于完全背包问题多出的限制条件是这 阅读全文