
分治相关——整体二分&&cdq分治
文章平均质量分 72
无
迷蒙之雨
这个作者很懒,什么都没留下…
展开
-
[THUPC2017] 天天爱射击(整体二分+树状数组)
洛谷题目传送门解题思路我们发现直接做不是很好做考虑计算每个木板是在第几次射击被射掉的这显然是具有可二分性的于是我们考虑整体二分每次二分中间点midmidmid,然后将时间小于等于mid的射击,在它的那个位置上加一然后枚举木板的时候,就看这块木板能覆盖的范围内有多少个1,就可以知道midmidmid对于这个木板是大了,还是小了单点加,区间查询,可以用树状数组维护#include<bits/stdc++.h>using namespace std;const int N = 2原创 2021-12-16 13:24:14 · 149482 阅读 · 0 评论 -
CF848C Goodbye Souvenir(set+CDQ分治)
洛谷题目传送门解题思路我们设preipre_iprei表示,iii这个位置上一个出现相同数字的位置,valival_ivali表示i−preii-pre_ii−prei那我们发现vali+valprei=i−prei+prei−preprei=i−prepreival_i+val_{pre_i}=i-pre_i+pre_i-pre_{pre_i}=i-pre_{pre_i}vali+valprei=i−prei+prei−preprei=i−preprei正好是第一次和最后一原创 2021-12-16 12:56:55 · 98 阅读 · 0 评论 -
[HEOI2016/TJOI2016]序列(CDQ分治优化DP)
洛谷题目传送门解题思路题目和最长上升子序列比较像,我们考虑用dpdpdp来解决设fif_ifi表示以iii这个位置结束的最长序列的长度,MaxiMax_iMaxi表示iii这个位置最大的数,MiniMin_iMini表示iii这个位置最小的数,转移时枚举上一个选的元素jjj是哪个位置因为最多只会变一个数,所以对于一个转移点jjj:·如果是jjj的位置变化,那么必须满足它变的最大的数也是小于aia_iai的,也就是Maxj≤aiMax_j\leq a_iMaxj≤ai·如果是iii的位原创 2021-12-10 13:18:55 · 942 阅读 · 0 评论 -
好题推荐(KMP+DFS序+CDQ分治/主席树)
题目描述给一个字符串SSS,有QQQ次询问,每次询问给两个数x,yx,yx,y,求SSS的前缀S[1−>x]S[1->x]S[1−>x]和SSS的后缀S[(n−y+1)−>n]S[(n-y+1)->n]S[(n−y+1)−>n]这两个字符串串联后得到的新串T=S[1−x]+S[(n−y+1)−>n]T=S[1-x]+S[(n-y+1)->n]T=S[1−x]+S[(n−y+1)−>n],在SSS中出现了多少次。考试思路昨天lsj大原创 2021-10-03 22:20:03 · 140 阅读 · 0 评论 -
P5163 WD与地图(可撤销并查集+整体二分+tarjan+线段树合并)
洛谷题目传送门题目描述CX 让 WD 研究的地图可以看做是 n 个点,m 条边的有向图,由于政府正在尝试优化人民生活,他们会废弃一些无用的道路来把省下的钱用于经济建设。城市都有各自的发达程度 si。为了方便管理,政府将整个地图划分为一些地区,两个点 u,v 在一个地区当且仅当u,v 可以互相到达。政府希望知道一些时刻某个地区的前 k 发达城市的发达程度总和,以此推断建设的情况。也就是说,共有三个操作:1 a b 表示政府废弃了从 a 连向 b 的边,保证这条边存在。2 a b 表示政府把钱用于建原创 2021-08-05 17:27:36 · 144 阅读 · 0 评论