
CDQ分治
文章平均质量分 80
nlj1999
这个作者很懒,什么都没留下…
展开
-
3295: [Cqoi2011]动态逆序对
白书有言:事实上,借助于分治法和Fenwick树,本题可以用更短的代码在更短的运行时间内解决。当时一直不明白啊,于是就放弃了,反正树套树我也不会(摊手)。今天突然想到,啊这不就是CDQ分治吗。整体二分是二分答案,CDQ分治是二分操作。于是就乱搞一下。先算出初始序列的逆序对数,顺便算一下每个点的数所成的逆序对数,然后在操作的时候删除。由于删除的时候会把同一个逆序对删两次,所以原创 2015-12-16 09:39:43 · 354 阅读 · 0 评论 -
BZOJ 2001: [Hnoi2010]City 城市建设
太神辣完全不会%%%%%%%%%%%%%%%%听说可以CDQ分治+LCT做,不过好像会被卡常数于是找到了网上的鬼畜题解,非常玄学的做法#include#include#include#includeusing namespace std;const int N=20000+5;const int M=50000+5;const int inf=1e9;typedef l原创 2016-04-01 16:07:38 · 1426 阅读 · 0 评论 -
BZOJ 1492: [NOI2007]货币兑换Cash
突然发现竟然还没做过这题,可能是不太会治分QDC吧首先考虑n^2的dp方程随便推一推就出来了f[i]=max(f[i-1],f[j]*(r[j]*a[i]+b[i])/(r[j]*a[j]+b[j]))60分到手然后令y[i]=f[i]/(r[i]*a[i]+b[i]),x[i]=y[i]*r[i]。然后会得到f[i]=max(x[j]*a[i]+y[j]*b[i])这原创 2016-04-03 19:22:14 · 319 阅读 · 0 评论 -
BZOJ 3672: [Noi2014]购票
近年来的趋势都是把动态规划出成计算几何吗?这题首先我们有个n^2的动规设v为u的祖先f[u]=min{f[v]+(d[u]-d[v])*p[u]+q[u]}且d[u]-d[v]~~~~~我要变形了~~~~~~f[u]=min{-d[v]*p[u]+f[v]}+d[u]*p[u]+q[u]哎,前面这个好像什么东西啊y=kx+b于是我们发现u的祖先是好多线假设p[u]为原创 2016-04-04 20:28:25 · 708 阅读 · 0 评论 -
BZOJ 2961: 共点圆
突然想起来论文还没刷完QAQ简直智障2013年xhr论文卡斜率的时候用点积#include#include#include#include#includeusing namespace std;#define rep(i,l,r) for(int i=l;i<=r;i++)#define per(i,r,l) for(int i=r;i>=l;i--)#define m原创 2016-05-11 13:22:13 · 639 阅读 · 0 评论 -
BZOJ 4553: [Tjoi2016&Heoi2016]序列
我就不懂了怎么又是线段树啊(好吧其实可以写平衡树)f[i]可以从f[j](a[j]观察条件发现就是某个矩阵里的权最大的点权值线段树套权值线段树就可以n(logn)^2了,但是空间也是这么多,会MLE所以三维偏序什么的还是cdq分治吧然后就轻易地过掉了#include#include#include#include#include#include#include原创 2016-05-20 19:58:01 · 672 阅读 · 0 评论