摘要: 整体二分模板题 不会的这里 首先横跨m的陨石降落可以拆分为不跨过m的两段 我们考虑第L~R场陨石降落,设$mid=\frac{L+R}{2}$。 把mid及以前可以完成任务的国家,丢到左边继续二分,不能完成任务的丢到右边继续二分。 当L=R时,此时国家的询问的答案是L。 修改&求和 用树状数组维护就 阅读全文
posted @ 2021-07-20 19:22 wljss 阅读(27) 评论(0) 推荐(0) 编辑
摘要: ##前置芝士 整体二分就是二分的进阶版 类似于cdq分治(毕竟都是分治嘛) ##算法流程 对于一些问题,我们回答一个询问的时候,我们可以先O(n)预处理,然后二分回答。 但是如果有m个询问呢?我们不能对每个询问都做一遍预处理。 此时我们需要发扬一下懒人思想:预处理中的某些处理是否可以多次利用(也就是 阅读全文
posted @ 2021-07-20 19:20 wljss 阅读(103) 评论(0) 推荐(0) 编辑
摘要: P5459 [BJOI2016]回转寿司 不会cdq的看这里:cdq分治:从分治到套娃 转化为求 j<i,L<=sum[i]-sum[j-1]<=R的对数的问题,其中sum为前缀和 经典的三维偏序,当然也可以分治后排序再用队列来维护。 你也可以试试直接用数据结构来做(话说cdq不就是把数据结构转成了 阅读全文
posted @ 2021-07-20 19:15 wljss 阅读(44) 评论(0) 推荐(0) 编辑
摘要: P3810 【模板】三维偏序(陌上花开) 模板题而已 不会cdq的看这里:cdq分治:从分治到套娃 一维排序,二维cdq,三维树状数组 #include<algorithm> #include<iostream> #include<cstdio> using namespace std; int n 阅读全文
posted @ 2021-07-20 19:12 wljss 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 感谢 mlystdcall 的透彻讲解 本文里没有的代码可以去这里查看 前置芝士 cdq分治可以用来解决多维偏序问题 优点:代替复杂数据结构,代码好写(类似归并排序),常数小 缺点:必须离线 重要优点:分治过程中区间的划分可以把数值的比较转化为看看是在左区间还是右区间,省去了一维比较的过程,实现了降 阅读全文
posted @ 2021-07-20 19:10 wljss 阅读(508) 评论(0) 推荐(0) 编辑
摘要: 这道题思路很巧妙。 我们从1到n处理每个数的时候同时维护好桶 $t[]$。 当我们处理到 $i$ 的时候,我们将 $t[a[i]]$ 赋值为 $1$。 如果这时候以 $a[i]$ 为中心的 $t$ 极大字符串并不是一个回文串,那么就说明存在一个 $j$ ,满足$t[a[i]-j]$ 不等于 $t[a 阅读全文
posted @ 2021-07-20 09:34 wljss 阅读(244) 评论(1) 推荐(0) 编辑