排序:
默认
按更新时间
按访问量
RSS订阅

[BZOJ4430][Nwerc2015]Guessing Camels赌骆驼(cdq分治+bit||bit)

题目描述传送门题目大意:给出三个1~n的排列,求有多少个数对,在这三个排列中的相对位置相同。题解处理出每一个数在三个排列中的位置,就形成了n个三维点对 然后就是一个三维偏序问题了,用cdq分治+bit求解做完之后发现有一个更厉害的只用bit的方法 考虑容斥,答案=总数-不符合条件的对数 然后...

2017-04-06 19:28:02

阅读数 605

评论数 0

[BZOJ2726][SDOI2012]任务安排(斜率优化dp+cdq分治)

题目描述 传送门 题解 哈哈哈速度实力倒数第一 也不知为什么写的奇慢无比卡常数卡到丧心病狂才勉强过了 我分明是把sort都搞成归并了呀… 这题是dp+cdq分治好题啊 首先考虑最裸的dp怎么搞 f(i)表示前i个搞完的最小花费… 等等,时间有后效性…记录一下时间? 瞬间爆炸 ...

2017-03-26 22:49:05

阅读数 931

评论数 0

[BZOJ2244][SDOI2011]拦截导弹(dp+cdq分治)

题目描述传送门题解这题真tm麻烦 其实dp是很简单的,令f(i)表示以i为结尾的最长非升子序列长度,g(i)表示以i结尾的最长非升子序列的方案数,h(i)和k(i)分别表示以i为开头的 然后对于每一个i,判断f(i)+h(i)-1是否就是最长答案;如果是,那么g(i)*k(i)就是这个点出现的...

2017-03-26 21:45:48

阅读数 959

评论数 0

[BZOJ3963][WF2011]MachineWorks(斜率优化dp+cdq分治)

题目描述传送门题解首先考虑如何暴力dp 肯定是先按照D(i)排序对吧 令f(i)表示在第D(i)天卖掉手里有的机器所能得到的最大收入 那么有一个很显然的dp方程:f(i)=max{f(i-1),max{f(j)-P(j)+G(j)*(D(i)-D(j)-1)+R(j)}}(1<=j&l...

2017-03-26 21:38:50

阅读数 688

评论数 0

[BZOJ3939][Usaco2015 Feb]Cow Hopscotch(cdq分治)

题目描述传送门题解把一个一个的点都拆开 按横坐标分治,每一次按纵坐标排序,然后搞一个数组统计一下标号就行了 因为这里的横坐标是严格小于,所以分治的时候要保证左右两个区间不能有x相同的点 sort太慢了,都改成了归并排序的版本,时间是O(nlogn)O(nlogn)的代码#include<...

2017-03-26 07:33:12

阅读数 398

评论数 0

[BZOJ1492][NOI2007]货币兑换Cash(斜率优化dp+cdq分治)

题目描述传送门题解首先可以发现,每一天的决策一定是全部买入或者全部卖出,因为只要有利益一定最大限度地取,如果有亏损就一点不碰 然后需要说的是,每一天所有的钱数可以唯一地转化为一种A券和B券的方案,也就是说,不用管某一天手里是有钱还是有券,反正都是等价的 令f(i)表示第i天的最大收益,显然f(...

2017-03-25 21:26:08

阅读数 441

评论数 0

[BZOJ4237]稻草人(cdq分治+单调栈+二分)

题目描述传送门题解对x排序了之后按照x分治,每一次对y排序 考虑如何处理左区间里的点对右边的点的影响,也就是如何计算左边和右边配对的情况 用两个指针扫的时候,如果左边的连续一段区间里的点想要都和右边的某一个点配对的话,必须满足x单调递减 而右边的区间的某一个点如果要是想和左边的点配对的话,只...

2017-03-24 21:59:51

阅读数 549

评论数 0

[BZOJ2253][2010 Beijing wc]纸箱堆叠(dp+bit+cdq分治)

题目描述传送门题解最长上升子序列+三维偏序问题 裸的dp人人会对吧O(n2)O(n^2) 考虑对序列进行cdq分治,每一次用左边的区间来更新右边的区间 按照x分治,每一次按照y排序,然后z用树状数组查询 需要注意的是,这里全部都是严格大于,也就是说分治的时候划分到左右两边的点不能出现x相等...

2017-03-24 21:47:46

阅读数 476

评论数 0

[BZOJ2216][Poi2011]Lightning Conductor(dp+决策单调性)

题解传送门题解移项p≥aj+|i−j|−−−−−√−aip\ge a_j+\sqrt{|i-j|}-a_i 正着做一遍反着做一遍然后就可以把绝对值啥的去掉了 以正着做为例 p≥aj+i−j−−−−√+aip\ge a_j+\sqrt {i-j}+a_i 实际上如果令f(i)=max{aj+...

2017-02-26 11:22:47

阅读数 682

评论数 0

[BZOJ2683]简单题(cdq分治)

题目描述传送门题解同BZOJ1176代码#include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #include<cmath> using nam...

2017-02-10 16:50:51

阅读数 476

评论数 0

[BZOJ2674]Attack(整体二分+树状数组套线段树)

题目描述传送门 数据有坑: 给出的不一定是左下角和右上角,需要自己判断交换。题解没见过整体二分里面还有个树套树的… 首先把坐标离散 感觉是K大数查询和矩阵乘法两道题的结合版,就是动态求矩阵的k大值 用bit套线段树的原因是没法写二维bit,于是线段树动态开点 把初始的矩阵和SWAP操作...

2017-01-10 21:57:56

阅读数 859

评论数 0

[BZOJ2223][Coci 2009]PATULJCI(整体二分+bit)

题目描述传送门题解以前好像做过一样的题,可持久化权值线段树裸题对吧… 整体二分的话也不难想 首先需要找单调性,乍一看是没有单调性的 不过,如果当前二分的答案为mid,这个区间里所有小于等于mid的数都不够的话,mid就一定变大,反之相反 那么每一次就把小于等于mid的数都加到bit里,然后...

2017-01-10 11:30:29

阅读数 437

评论数 0

[BZOJ2738]矩阵乘法(整体二分+二维bit)

题目描述传送门题解首先把权值离散 将所有的点看成是单个插入操作,所有的询问看成是查询操作 二分第k小的数mid,将插入操作按照权值排序了之后就是在一段区间里 将<=mid的数加入到bit里,然后对于每一个询问在bit中查询 如果不够的话就往大的走,如果小的话就往小的走 注意如果向m...

2017-01-10 11:25:47

阅读数 369

评论数 0

[BZOJ2527][Poi2011]Meteors(整体二分+bit)

题目描述传送门题解整体二分最少是哪个流星雨 每一次处理(l,mid)之间的修改然后再判断每一个询问是否满足 线段树的常数太大了…必须用bit才能过…代码#include<algorithm> #include<iostream> #include<cstring&...

2017-01-09 21:59:41

阅读数 373

评论数 0

[BZOJ2716][Violet 3]天使玩偶(cdq分治+bit)

题目描述传送门题解上下左右想想就不好搞啊…所以我们每一次只统计某个点左下方与它最近的,然后做4遍 |x-x’|+|y-y’|=(x+y)-(x’+y’),也就是求x+y最大的点 然后这不就和三维偏序问题差不多了么? 按照时间排序分治,每一次对(l,mid)和(mid+1,r)按照x排序,然后...

2017-01-08 17:40:51

阅读数 659

评论数 0

[BZOJ3262]陌上花开(cdq分治+bit)

题目描述传送门题解三维偏序问题? 首先按照x第一关键字,y第二关键字,z第三关键字排序,然后问题就转化成了求某一个(x,y,z)前面存在多少个(x’,y’,z)满足x>=x’,y>=y’,z>=z’ 由于x一定是有序的,那么根据x进行cdq分治 每一次将(l,mid)和(m...

2017-01-08 17:33:05

阅读数 1427

评论数 0

[BZOJ1176][Balkan2007]Mokia(cdq分治+bit)

题目描述传送门 S不用管它…题解cdq分治板子题T_T 感觉所有讲cdq分治的资料都是“从cash谈起”,然而我感觉这题比较裸,可以先做这道题明白了cdq是干什么的再去想那些神dp感觉cdq分治的做法就是将一个区间(l,r)分成(l,mid)和(mid+1,r),然后处理(l,mid)对(mi...

2017-01-08 17:24:54

阅读数 332

评论数 0

[BZOJ3295][Cqoi2011]动态逆序对(树状数组套线段树||cdq分治)

总有一天 能让这欢喜的歌声传到你身边

2016-04-28 14:10:29

阅读数 762

评论数 0

[BZOJ3110][Zjoi2013]K大数查询(主席树套线段树||整体二分 )

仿佛将那些年幼时的记忆 全部唤起的声音 已经被那温柔的笑脸 拯救过多少次

2016-04-28 09:57:18

阅读数 700

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭