CDQ分治
_Ark
这个作者很懒,什么都没留下…
展开
-
HDU 3824/ BZOJ 3963 [WF2011]MachineWorks (斜率优化DP+CDQ分治维护凸包)
题面BZOJ传送门(中文题面但是权限题)HDU传送门(英文题面)分析定义f[i]f[i]f[i]表示在iii时间(离散化之后)卖出手上的机器的最大收益.转移方程式比较好写f[i]=max{f[j]−p[j]+r[j]+(d[i]−d[j]−1)∗g[j]}f[i]=max\{f[j]-p[j]+r[j]+(d[i]-d[j]-1)*g[j]\}f[i]=max{f[j]−p[j]+r[j...原创 2019-03-11 10:57:20 · 288 阅读 · 0 评论 -
BZOJ 2244: [SDOI2011]拦截导弹 (CDQ分治 三维偏序 DP)
题意略…分析就是求最长不上升子序列,坐标取一下反就是求最长不下降子序列,比较大小是二维(h,v)(h,v)(h,v)的比较.我们不看概率,先看第一问怎么求最长不降子序列.设f[i]f[i]f[i]表示以iii结尾的最长不降子序列的长度,有f[i]=max(f[j]+1) ( 0≤j<i,hj≤hi,vj≤vi )f[i]=max(f[j]+1)\ ...原创 2019-03-22 09:45:05 · 224 阅读 · 0 评论 -
BZOJ 3237 连通图(随机化+线性基)/ (分治+并查集)
题目题目链接记得数据范围在HINT处题解有分治的做法但是很慢这里给出随机化+线性基的做法。先找一棵生成树,然后边被分为了树边和非树边。首先给每条非树边一个随机的权值。然后如果整棵树在EEE处断开,一定是链接左右两个连通块的非树边和EEE均被删除。那么我们定义树边的权值为链接左右两个连通块的非树边的权值异或和,如果能预处理出这个值,就可以通过看是否有边集的子集异或和为0来判断是否被...原创 2019-10-05 09:55:55 · 234 阅读 · 0 评论 -
BZOJ 3636 教义问答手册 (分治)
先存一波代码,待更。CODE#include <bits/stdc++.h>using namespace std;char cb[1<<18],*cs,*ct;#define getc() (cs==ct&&(ct=(cs=cb)+fread(cb,1,1<<18,stdin),cs==ct)?0:*cs++)inline void...原创 2019-10-05 14:49:10 · 232 阅读 · 0 评论