CDQ分治
LowestJN
强省弱OIer
展开
-
[BZOJ3295][Cqoi2011]动态逆序对
题意给定一个NN个数序列,以及MM个操作,每个操作删除一个数,求每次操作前数列中逆序对的个数(x,y)(x,y)满足A[x]<A[y]A[x]<A[y]且x>yx>y,即为逆序对。第一想法是线段树套treap,交上去的时候发现treap没有打旋转……结果6.9s过了,打完旋转后9.6s……#include <cstdio>#include <cstdlib>#define N 100010typ原创 2016-12-18 15:01:33 · 470 阅读 · 1 评论 -
[BZOJ3963][WF2011][CDQ分治][斜率优化][DP]MachineWorks
被精度卡死……令d[i]为第i台机器可以购买的日期,f[i]表示第d[i]天的最大收入, 则f[i]=max{f[j]-p[j]+r[j]+(d[i]-d[j]-1)*g[j]} 令A[i]=f[i]-p[i]+r[i]-(d[i]+1)*g[i] f[i]=A[j]+d[i]g[j],则A[j]=f[i]-d[i]g[j] 那么就用CDQ分治维护一下凸包就行了#include <cstdi原创 2017-02-17 22:27:11 · 388 阅读 · 0 评论 -
[BZOJ1492][NOI2007][CDQ分治][斜率优化][DP]货币兑换Cash
贴代码博客……#include <cstdio>#include <iostream>#include <algorithm>#include <cmath>#define N 100010#define inf 1<<30#define eps 1e-9using namespace std;int n,s,head,tail;int q[N];double f[N];struc原创 2017-02-17 22:29:43 · 459 阅读 · 0 评论