
-----分治类算法-----
stargazer.
夜を穿つの
展开
-
【LOJ #3070】「2019 集训队互测 Day 1」最短路径(分治 / NTT / 点分治)
传送门想一秒,写一年找出环,对于每个子树点分+NTT+NTT+NTT即可对于环分治计算即可复杂度O(nlog2n)O(nlog^2n)O(nlog2n)#include<bits/stdc++.h>using namespace std;#define cs const#define re register#define pb push_back#define p...原创 2020-04-16 17:19:21 · 369 阅读 · 0 评论 -
【洛谷 P5244】 [USACO19FEB]Mowing Mischief P(分治 / 决策单调性优化DP)
传送门首先求出lislislis然后对于lisilis_ilisi按照值分层转移显然每一层的点是从左上到右下这样单调的对于相邻两层的转移可以列出DPDPDP式子fi=minj,xj<xi,yj<yi(fj+(xi−xj)∗(yi−yj))f_i=\min_{j,x_j<x_i,y_j<y_i}(f_j+(x_i-x_j)*(y_i-y_j))fi=minj...原创 2020-04-13 22:03:10 · 351 阅读 · 0 评论 -
【BZOJ4836】[Lydsy1704月赛]二元运算(分治FFT)
传送门显然权值转下标后分治FFTFFTFFT即可利用MTTMTTMTT的技巧可以做到DFTDFTDFT次数减半卡到bzoj rk2bzoj\ rk2bzoj rk2不知到第一是怎么做到2k代码跑那么快的#include<bits/stdc++.h>using namespace std;#define cs const#define re regis...原创 2020-02-01 15:17:36 · 220 阅读 · 0 评论 -
【BZOJ4979】凌晨三点的宿舍(分治)
传送门给定一个序列,每个位置一个值hih_ihi定义222个位置(i,j),i&lt;j(i,j),i&lt;j(i,j),i<j的距离为j−i+hi+hj−2∗min(h[k],k∈[i,j])j-i+h_i+h_j-2*min(h[k],k\in[i,j])j−i+hi+hj−2∗min(h[k],k∈[i,j])求有多少对节点的距离小于等于kkkn≤2e5...原创 2019-02-27 20:10:21 · 289 阅读 · 0 评论 -
【BZOJ2739】—最远点(决策单调性+分治)
传送门把环倍长,只考虑iii~i+ni+ni+n的点发现最远点满足决策单调性分治求解就可以了#include<bits/stdc++.h>using namespace std;#define ll long longinline int read(){ char ch=getchar(); int res=0,f=1; while(!isdigit(ch)){if...原创 2019-03-20 09:43:17 · 272 阅读 · 0 评论 -
【洛谷P4897】【模板】—最小割树(分治+最小割)
传送门模板每次随便找2个点跑最小割,然后把割开的2部分内部单独跑把最小割作为树上2点相连边权,注意每次都是对原图跑最小割#include<bits/stdc++.h>using namespace std;const int RLEN=1<<22|5;inline char gc(){ static char ibuf[RLEN],*ib,*ob; (i...原创 2019-09-11 19:49:22 · 124 阅读 · 0 评论