自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Zeyu_King的专栏

成功不是将来才有的,而是从决定去做的那一刻起,持续累积而成!

  • 博客(10)
  • 收藏
  • 关注

原创 CDQ分治优化DP

昨天被学军的公开赛虐傻了,才发现自己还不会用CDQ优化DP,吓得赶紧去填坑。。。普通的CDQ就是对二分操作,计算前半部分的插入对后半部分的询问的影响。那么如何用CDQ优化DP呢?看一道例题:NOI2007 cash很容易推出平方的dp方程:f[i] = max(f[i-1], f[j]/(R[j]*A[j]+B[j])*R[j]*A[i] + f[j]/(R[j]*A[j]

2015-06-28 22:10:51 1577

原创 [bzoj 3531]sdoi2014 旅行

一眼树剖题对每种颜色开一颗线段树,动态开点,记录最大值与和,查询直接查找,修改的话只会修改单点,所以最多增加2logn个节点(原来把题目看错了,以为修改也是修改连续一段的,似乎这样空间会大很多)

2015-06-22 08:04:54 655

原创 KD-Tree入门

经过这几天研究kd-tree,我可以说kd-tree就是按照基本的思路随便写就可以了吗?以二维平面为例,在二维平面上有若干点,我们如何建立kd-tree?第一层以x坐标的中位数将所有点分为两部分,分别放到左右子树上,第二层以y坐标的为中位数再将当前的集合平分,第三层依然以x坐标……如此递归下去。以查询最近点为例,我们在当前节点上找到查询点应被分在哪一个子树上,优点遍历这个子树,如果在此

2015-06-20 07:39:09 2537 1

原创 XJOI NOI2015训练题7 题解

T1、原本以为是水题的,但是题目里有这么一句话”不模1e9+7“。。。。可以注意到上下左右都要求单调增,那么状态就很好确定了f[i][j]表示第一行放了前i个格子,第二行放了前j个格子,并且这些数都是小于等于i+j的转义很好写:f[i][j]可以推给f[i+1][j]和f[i][j+1]。需要时时保证i>j另外注意此处格子是否可放。由于不取模,需要用高精。但是实现只有0.2

2015-06-13 21:58:19 980 1

原创 [bzoj 3626] LNOI2014 LCA

神题!虽然想到离线,但是还是只会随机数据的做法。。。。有一个比较有意思的结论:把点i到根的所有点权值设为1,其他点为0,此时j到根的所有点权和即为dep[LCA(i,j)]不难发现,这个方法满足加法性质。把询问查分,从1到n处理每个点,将其到根的权值+1,询问只要看这个点到根的权值和就是LCA的深度和了!LCT维护即可#include #include #inclu

2015-06-13 21:55:09 663

原创 SPOJ GSS2

求最大子段和,但是相同的数只算一次。在现很难完成,可以考虑离线。离线方法很trick把原数组按读入顺序加入,用s[i]维护s[i]到当前加入的和(不重复计算)如何维护这个和?很简单,只要用线段树把pre[i]+1~i的s都加上a[i]即可把询问按照右端点排序,对于询问[l,r],我们只要在加入r之后查找s[l~r]曾今的最大值即可这个怎么用线段树维护?可持久化?似乎会爆空间

2015-06-13 21:33:28 755

原创 [bzoj 4080] Wf2014 Sensor Network

will讲的题,网上几乎都是用随机化算法过得,代码短的出奇,为了维护标算的尊严,我决定推广一下表算。。。。你敢信这题是二分图最大独立集!?枚举距离不超过d的两个点,已这两个点为圆心,距离为半径分别作圆,会形成如下的图形可以看到上半部分的点之间距离小于等于d,严格来说是小于确定两点之间的距离。下部分同理。但是上下部分的点之间距离可能超过d,在这些点对之间连一条边。求最大独立集

2015-06-13 07:58:20 1005

原创 [bzoj 2653] middle

陈老师的神题,先拜一下求中位数用二分的方法很容易想到。可以想到我们把二分到数x后,把小于x的定义为-1,大于等于x的定义为1,只要求出一个子序列和大于等于0就说明中位数大于等于x(题目中的n/2是向上取整的)然而之后我并不知道怎么做一般我们建立主席树都是按照数组下标顺序来建的,这题比较奇葩。假设我们只需要查询中位数为x的时候,最大的子序列和是否大于等于0,会做吧——直接弄出

2015-06-13 07:14:20 723

原创 [bzoj 2654] tree

跪神题,跪秒题大神zy!很多人的第一想法就是选前need小的白边,再放黑边,很不幸这是错的正确解法很有启发性。如果我们按照正常的选边来做最小生成树,如果选出的白边大于need条,我们就需要少选一些的白边,否则我们就需要多选一些白边。如何才能少选一些白边呢?我们可以该白边全部加上一个正数,同理我么可以多选一些白边。这样我们就可以二分了!但是这还有一些问题,假设我们二分得到

2015-06-11 22:18:50 806

原创 莫队算法小结

终于把糖果公园a掉了,写点小结冷静一下(由于博主现在思维混乱,所以请用混乱的思维来阅读本篇文章)1、小z的袜子这算是鼻祖了吧。把序列分成sqrt(n)块,把询问先按左端点所在的块顺序,再按右端点升序排序,可以证名这样暴力移动左右端点最多达到O(n^1.5)的复杂度简单吧code是很就以前写的了,很丑勿喷#include #include #include #inc

2015-06-11 22:17:13 663

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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