CDQ分治
YYHS_WSF
这个作者很懒,什么都没留下…
展开
-
Luogu P3374 【模板】树状数组 1
看题面戳我 一道常规的二维偏序,用前缀和的思想把求分成 带修改条件的,是从二维进阶到三维的必备题 #include<cstdio> using namespace std; const int N=2e6+5; int n,m,c,cnt,ans[N]; struct A{int id,k,x,y; }q[N],t[N]; void work(int l,int r) { ...原创 2018-12-02 20:41:48 · 262 阅读 · 0 评论 -
Luogu P1393 动态逆序对
戳我看题面 常规操作:离线后删除改成插入(倒着做) 问题就变成了插入一个数,求逆序对 求逆序对是cdq分治,所以插入一个数求逆序对多半也是cdq分治 构造三元组,表示时间,表示位置,表示数的大小 新插入一个数带来的影响无疑是 且(,或者,) 记下来后求一前缀和就搞定了 #include<cstdio> #define ll long long usi...原创 2018-12-02 20:44:13 · 216 阅读 · 0 评论 -
浅谈CDQ分治
前置知识:分治 步骤: 1、把原问题分为若干个形式相同,规模更小的子问题,直到子问题足够小 2、递归求解子问题 3、合并子问题的解,得到原问题的解 __________________________________________________________________ CDQ分治:一种特殊的分治,可以代...原创 2018-12-01 14:40:16 · 163 阅读 · 0 评论 -
BZOJ 1492: [NOI2007]货币兑换Cash
看题面戳我 60分做法:有提示得,每次必须买完或者卖完,感觉像dp 表示前天赚取的最多钱 其中 , #include<cstdio> #include<iostream> using namespace std; const int N=1e5+5; int n; double f[N],a[N],b[N],r[N]; int main() { sca...原创 2018-12-03 09:00:32 · 313 阅读 · 0 评论