分治
Dlkoiw
这个作者很懒,什么都没留下…
展开
-
随机
随机发现当端点值差最小时本区间一定不可以更新,所以最终答案一定是一段端点价值差最小的区间本题类似分治的做法,可以先将子区间的答案算出来,然后对于穿过mid的部分,我们只需要找到差比ans小的,记录下来,可更新的答案一定在这些点之间,然后枚举更新即可。#include<bits/stdc++.h>using namespace std;const int N=2e6+5;int n,a[N];struct node{ int x,y;}q[N],tmp[N];int val(原创 2020-08-03 07:13:53 · 145 阅读 · 0 评论 -
简单的区间
简单的区间本题其实是典型的分治的做法本题其实是典型的分治的做法本题其实是典型的分治的做法对于每一个[l,r],我们找出最大值的位置pos,然后扫描[l,pos−1]与[pos+1,r]中较短的一段,然后求出在另一段所需要的值的个数,加入答案就行了对于每一个[l,r],我们找出最大值的位置pos,然后扫描[l,pos-1]与[pos+1,r]中较短的一段,然后求出在另一段所需要的值的个数,加入答案就行了对于每一个[l,r],我们找出最大值的位置pos,然后扫描[l,pos−1]与[pos+1,r]中较短的原创 2020-08-03 02:10:14 · 336 阅读 · 0 评论 -
楼房重建
楼房重建我们发现能不能看到一件楼房就要看前面有没有比它斜率大的楼房我们发现能不能看到一件楼房就要看前面有没有比它斜率大的楼房我们发现能不能看到一件楼房就要看前面有没有比它斜率大的楼房而看数据范围,是可以存斜率的,所以很自然地分治一下(类似线段树)而看数据范围,是可以存斜率的,所以很自然地分治一下(类似线段树)而看数据范围,是可以存斜率的,所以很自然地分治一下(类似线段树)算出左边看过去可以看...原创 2019-12-10 18:19:31 · 290 阅读 · 0 评论 -
dp/分治
区配最大异或这题看着很蒙,暴力都不会打。。。——————————————————————————————————————————————AC代码#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=(1<<16);int in[N],n,m;ll mod=1...原创 2019-09-11 18:35:03 · 233 阅读 · 0 评论 -
序列
序列这道题深刻地论证了分治算法的妙处,也形象地说明了序列题最好用分治算法——————————————————————————————————————————————本题正解的思路有点难想,强行构造出的分治合并方法非常巧妙(ZZ的解法)——————————————————————————————————————————————分治出[l,r],取mid,想办法在O(n)的时间里合并分治出[...原创 2019-10-04 20:51:27 · 158 阅读 · 0 评论