随笔分类 -  谨小慎微,善始善终

摘要:线段树的模板题!区间更新 区间更新的关键在于lazy标记, 如果要更新的区间包括当前的区间的话,就加对当前的这个区间加一个lazy标记,更新整个区间的值,并且停止,不再继续往下更新, 当再次更新到这个区间的时候,就是会用到这个这个区间的值的时候, 就把这个lazy标记释放掉(更新左子树和右子树,同时 阅读全文
posted @ 2017-04-29 22:28 林探惜 阅读(131) 评论(0) 推荐(0) 编辑
摘要:# 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 林探惜 阅读(145) 评论(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 林探惜 阅读(126) 评论(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 林探惜 阅读(147) 评论(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) 编辑

点击右上角即可分享
微信分享提示