摘要: tarjan的裸题 tarjan的主要作用是求有向图中的强联通分量,通过维护两个值,一个是时间戳dfs,一个是low数组,现在理解的还不够深刻,之后理解好了再过来写 阅读全文
posted @ 2017-08-10 22:00 xinyimama 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 简单的区间动规 阅读全文
posted @ 2017-08-03 15:57 xinyimama 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 这个题中在点上加入了线段的概念,不过此题长时间不过,居然是因为,我将结构体排序之前的值赋给了动规数组,而正解是结束后才赋值,所以错了一晚上,一晚上 贴代码 阅读全文
posted @ 2017-08-02 22:21 xinyimama 阅读(84) 评论(0) 推荐(0) 编辑
摘要: //这个题,吴同学让我深深明白了if else 的差别,尤其是在动规里面#include #include #include #include using namespace std; const int maxn=105; const int INF=0x3f3f3f3f; int f,v,dp[maxn][maxn],a[maxn][maxn]; bool b[maxn][maxn]; ... 阅读全文
posted @ 2017-07-08 10:54 xinyimama 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 环形版相当于把链条剪段就行,代码 阅读全文
posted @ 2017-07-06 20:30 xinyimama 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 这个题主要分为两个部分,一个是求严格的最长下降子序列,还有就是求方案数,第一个问题超简单,不用说,第二个算法有些困难,所以在此贴代码 阅读全文
posted @ 2017-07-06 15:40 xinyimama 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 简单题 阅读全文
posted @ 2017-07-04 17:16 xinyimama 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 很菜,很菜,这么一个简单的题写了好几天! 这是网上的版本,好理解,推荐 一本通的版本,不好写 阅读全文
posted @ 2017-07-03 11:37 xinyimama 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 裸题,不解释#include #include #include #include #include #define maxn 50010 using namespace std; int n,t; char s[10]; struct node{ int l,r,sum;//维护一个左标记,右标记,还有一个区间和 }xd[4*maxn+5]; void build(int l,in... 阅读全文
posted @ 2017-06-27 23:04 xinyimama 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 这个是基础的线段树的区间修改和单点查询的题,线段树的区间问题写法很套路,然而,区间修改问题有一个是我们需要注意的地方,那就是添加lazy标记,什么时候添加lazy标记和lazy标记表示的是什么,这个需要明白,lazy标记表示的是整个区间的偏移量,当我们需要向下查找的时候,这个时候我们就需要下放lazy标记。另一个需要注意的地方是区间修改问题,一定要记得pushup,这个很重要,还有递归返回值的问... 阅读全文
posted @ 2017-06-27 23:01 xinyimama 阅读(71) 评论(0) 推荐(0) 编辑