摘要: # include # include # include # include using namespace std; int st,en,n; int f[502][10004],w[10004],v[10004]; int main(){ int t; scanf("%d",&t); while(t--){ scanf("%d%d",&s... 阅读全文
posted @ 2017-04-28 23:27 林探惜 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 基础dp的题目; 最长公共子序列,,,LCS(Longest Common Subsequence) dp[i][j]表示分别以i和j结尾的的最长公共子序列的长度; 如果s1[i]==s2[j] dp[i][j]就等于dp[i-1][j-1]的值加上一; 如果是s1[i]!=s2[j] dp[i][ 阅读全文
posted @ 2017-04-28 22:58 林探惜 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 基础之基础之中的基础,然而很简单 简单的动态规划,最长上升子序列 LIS(Longest Increasing Subsequence) dp[i]表示第i个数结尾的最长上升子序列的长度 初始是dp[i]=1;seg[i]储存第i个数; 求第 i 个的最长LIS 就是求 max j (< i)的LI 阅读全文
posted @ 2017-04-28 22:36 林探惜 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 数据结构中的线段树处理的主要是一些对于区间的操作,比一般的方式要快很多(logn) 线段树的存储可以定义一个数据结构 线段树是一种完全二叉树,用tree[ rt ] 存储的话 ,左儿子为 tree[ rt << 1 ] 右儿子为 tree[ rt << 1 | 1 ] 线段树将一个区间通过二分的方式 阅读全文
posted @ 2017-04-28 19:11 林探惜 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 第一次AC的数据结构的题目呢,线段树简单题 1 # include <cstdio> 2 # include <iostream> 3 # include <algorithm> 4 # include <cstring> 5 using namespace std; 6 7 const int m 阅读全文
posted @ 2017-04-28 18:04 林探惜 阅读(100) 评论(0) 推荐(0) 编辑