摘要: 写在前面感谢ldx大佬的讲解!先%为敬!这篇博客主要记录的是一些线段树的例题,记住线段树的核心:标记的下放和信息的合并。高级操作走一波(打星号的贼难啊)(好吧这是基本操作)线段树支持区间加、区间乘、区间求和线段树维护区间开方和区间求和(*)线段树维护区间加、区间求和、... 阅读全文
posted @ 2018-10-22 21:13 Ishtar~ 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 洛谷1550构图很巧妙,建立一个超级源点,所有连向自己的边(即打井)改为连向这个超级源点,最后跑一个最小生成树即可。#includeusing namespace std;const int MAXN=1e5+10;struct node{ int from,t... 阅读全文
posted @ 2018-10-22 20:54 Ishtar~ 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 洛谷传送门【题目分析】洛谷第一道黑题唉。题目也说的很清楚,维护一个数据结构,支持区间加,区间求和,区间历史求和,时光倒流。很明显如果将标记下传,那么还会多个撤销操作,这不优秀,所以我们就考虑标记永久化。然后其他就是主席树的基本操作了。。。。(240ms氵谷rank6)... 阅读全文
posted @ 2018-10-22 20:43 Ishtar~ 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 传送门【题目分析】题目大概就是让你维护一个数据结构,支持区间开方和区间求和————线段树!区间求和是基本操作,所以考虑如何支持区间开方。考虑一个区间a[l]~a[r],令其中最大值为a[i],最小值为a[j],所以区间极差就为a[i]-a[j],如果我们对其进行开方操... 阅读全文
posted @ 2018-10-22 12:18 Ishtar~ 阅读(143) 评论(0) 推荐(0) 编辑