自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

写东西的地方

on the way

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

原创 SPOJ COT2 树上的莫队算法,树上区间查询

题意:n个节点形成的一棵树。每个节点有一个值。m次查询,求出(u,v)路径上出现了多少个不同的数。树上的莫队算法,同样将树分成siz=sqrt(n)块,然后离线操作。先对树dfs一遍,每当子树节点个数num>=siz,就将这num个分成一块。读取所有的查询按左端点所在块排序。重点在于怎么进行区间转移,对路径的lca特殊处理,参考博客http://blog.csdn.net/kuribohg

2015-08-17 19:09:00 2146

原创 hdu 5381 莫队算法/gcd

The sum of gcdTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 645    Accepted Submission(s): 279Problem DescriptionYou have an array

2015-08-17 18:55:41 957

原创 主席树(可持久化线段树)入门专题

1.poj 2104 查询区间第k小。主席树其实相当于建立了n棵线段树,第i棵线段树是根据区间【1,i】按值建立的。对于每一棵线段树我们记录它对应的区间每个数出现的次数,所以首先要对所有的数离散化。先考虑最简单的情况,只查询【1,n】的第k小,对于【1,n】我们按值建立一棵线段树,对于a[i]我们在位置a[i]上加1。查询第k小那么先看左子区间出现了多少个数cnt,假设左区间出现的数cnt

2015-08-16 18:34:52 6002

原创 zoj 2112 Dynamic Rankings 带修改区间第k大的几种解法

给出n个数,有两种操作,一种是修改某个数的值,另一种查询指定区间第k大。比较快的做法是树套树,而分块算法复杂度比较高写起来方便。分块算法可以很简单的处理单独修改某个值的情况。将n个数分成num块,每块大小siz=n/num。每一块内部排序进行排序,查询[l,r]第k大时,先二分答案,对于完全包含在区间的内块直接二分搜索,而对于区间两端只有部分包含的则直接遍历查找。复杂度是logn*(2*s

2015-08-16 12:28:18 3743 2

原创 cf-546E 网络流,状态转移平衡

E. Soldier and Travelingtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputIn the country there are n cities a

2015-08-15 16:44:20 702

原创 hdu 3998 最长上升子序列个数+网络流 (最多不相交合法路径数)

SequenceTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1886    Accepted Submission(s): 687Problem DescriptionThere is a sequenc

2015-08-12 22:37:40 967

原创 hdu 3416 最短路+网络流(不重叠最短路径计数)

Marriage Match IVTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2594    Accepted Submission(s): 772Problem DescriptionDo not si

2015-08-12 22:11:57 824

原创 hdu 3338 网络流填数字

Kakuro ExtensionTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1268    Accepted Submission(s): 439Special JudgeProblem DescriptionI

2015-08-10 14:55:28 1507

原创 poj 1741 树分治入门

题意:统计距离这道题用的树的点分治方法。点分治基于树的重心。树的重心,定义是删除某个点后得到的最大(节点数)子树的节点数最小。性质是,可以证明删除掉重心后,每个子树的大小

2015-08-03 23:20:45 575

原创 hdu 5324 树套树、cdq分治

一、线段树/树状数组套平衡树题目大意是给你n个(L[i], R[i])的点,找出最长的子序列,满足L[i]递减,R[i]递增。为了看起来顺眼点,我们可以把其中一维取相反数,使得两个都找递减,或者都找递增的。我们把L[i]取相反数,找两个都递增的。假设不考虑R[i],只考虑L[i],那么就相当于LIS问题了。dp[i]记录以L[i]为结尾的最大长度,dp[i]=max{dp[

2015-08-02 11:33:53 663

空空如也

空空如也

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

TA关注的人

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