摘要: /// 求数组的最大递增子序列/最大递减子序列 include using namespace std; int LIS(vector vec) { int res = 0; int sz = vec.size(); vector dp(sz +1, 0); dp[0] = 1; for(int i 阅读全文
posted @ 2019-09-07 16:18 lllittletree 阅读(553) 评论(0) 推荐(0) 编辑
摘要: ``` /// 换硬币问题 给定1、5、10、25面值的硬币,组成n元共有多少种方法 include using namespace std; int main() { int n = 100; int coins[4] = {1,5,10,25}; int dp[n+1] = {0}; dp[0] 阅读全文
posted @ 2019-09-07 15:26 lllittletree 阅读(117) 评论(0) 推荐(0) 编辑
摘要: ``` /// 求两个字符串的最大公共子序列长度,最长公共子序列则并不要求连续,但要求前后顺序(dp) include using namespace std; void Print(int i, int j){ } int main() { string str1,str2; cin str1 s 阅读全文
posted @ 2019-09-07 15:25 lllittletree 阅读(925) 评论(0) 推荐(0) 编辑
摘要: ``` /// 求最大递增子序列本身,输出路径,子序列不需要连续 #include using namespace std; int LIS(int *p, int length , int* pre, int& nindex); void GetLIS(int *p, int *pre, int nindex, vector& lis); int main() { int a[] = {1,4, 阅读全文
posted @ 2019-09-07 15:24 lllittletree 阅读(988) 评论(0) 推荐(0) 编辑