摘要: 题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1018 线段树竟然还可以这样用! 维护的是一个矩形内部的连通情况,四个顶点之间有6种连通方式; 因为连通情况具有可合并性,所以可以用线段树来维护! 这篇博客写得很好:https://www.cn 阅读全文
posted @ 2018-06-11 20:41 Zinn 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2002 第一次用分块,感觉超方便啊; 如果记录每个点的弹力系数,那么是O(1)修改O(n)查询; 如果记录每个点几次被弹飞,那么是O(n)修改O(1)查询; 那么如果分成根号n块,则相当于每块都 阅读全文
posted @ 2018-06-11 17:33 Zinn 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3631 树上差分;注意路径的结尾被多算了一次,最后要减去(不能提前减)。 代码如下: 阅读全文
posted @ 2018-06-11 16:14 Zinn 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3668 一开始想着倒序推回去看看这一位能不能达到来着,因为这样好中途退出(以为不这样会T); 没想到正着的0和1可能出现一样的结果... 这是WA代码: #include<iostream> # 阅读全文
posted @ 2018-06-11 15:17 Zinn 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1878 离线树状数组,巧妙的思路呢; 给每种项链记录一个最后出现的位置lst,根据项链最后出现是否在区间内来计算种类数; 于是就用树状数组求前缀和来得到结果。 代码如下: 阅读全文
posted @ 2018-06-11 12:12 Zinn 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1861 发现自己想splay的时候总是纠结那个点权是什么,因为splay原本是二分查找树... 但其实splay已经不是维护点权大小顺序的,它的最大作用就在于无论怎样旋转都保持着中序遍历这个相对 阅读全文
posted @ 2018-06-11 11:28 Zinn 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1047 就是先对行做一遍单调队列,再对那个结果按列做一遍单调队列即可。 代码如下: 阅读全文
posted @ 2018-06-11 09:19 Zinn 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1007 可以把直线按斜率从小到大排序,用单调栈维护,判断新直线与栈顶的交点和栈顶与它之前直线的交点的位置关系即可。 代码如下: 阅读全文
posted @ 2018-06-11 08:15 Zinn 阅读(143) 评论(0) 推荐(0) 编辑