摘要: "cf" "luogu" 暴力是挨个考虑,这里不妨整体考虑,先把所有T恤按照价值从大到小为第一关键字,价格从小到大为第二关键字排序,然后依次考虑,可以发现这时候剩余钱数$ c_i$的会买,这会导致他们钱数$ c_i$,答案$+1$.因为这一段人是连续区间,所以考虑用平衡树维护,每次找到钱数$.=c_ 阅读全文
posted @ 2019-09-11 21:49 ✡smy✡ 阅读(120) 评论(0) 推荐(0) 编辑
摘要: "uoj" 因为询问是关于一段连续区间内的操作的,所以对操作构建线段树,这里每个点维护若干个不交的区间,每个区间$(l,r,a,b)$表示区间$[l,r]$内的数要变成$ax+b$ 每次把新操作加入线段树中下一个叶子,然后如果某个节点里所有操作都加进去了,就条到父亲,把两个儿子的信息合并到父亲上.这 阅读全文
posted @ 2019-09-11 19:15 ✡smy✡ 阅读(167) 评论(0) 推荐(0) 编辑
摘要: "luogu" "uoj" 注意到用这个集合产生方式可以构建出一个树型结构,并且每个加入/删除元素都是对应的一个子树的范围,对应到dfs序上就是每次对一个区间内的集合加入/删除元素,所以可以线段树分治,把每种元素的出现区间整出来 把答案柿子$(x x_0)^2+c$拆开,得到$x^2 2x x_0+ 阅读全文
posted @ 2019-09-11 17:26 ✡smy✡ 阅读(118) 评论(0) 推荐(0) 编辑
摘要: "bzoj" 这个矩形有三个限制,分别是右上角点的横纵坐标分别大于左下角~~废话~~,并且中间区域没有点.那么可以先按横坐标排序,然后枚举左边的点和右边的点匹配.为了保证复杂度,这里每次把点集一分为二,先递归处理两边,然后处理两端点分别在左右两边的情况 这里把两边的点分别按纵坐标排序,然后枚举右边的 阅读全文
posted @ 2019-09-11 10:10 ✡smy✡ 阅读(122) 评论(2) 推荐(0) 编辑