自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 树链剖分

树链剖分就是把树上的链分成重链和轻链,然后在重链和轻链上进行求和、修改,求最大值,最小值等等。。。。 树链剖分只是把找链这个环节优化到了log(n),具体的总的复杂度是多少,还要看你储存链的数据结构是什么。如果用的是线段树,那么复杂度大概是log(n) * log(n);如果用的是树套树,那么复杂度大概是log(n)*log(n)*log(n);如果是树链剖分加上树套树写区间第k大,那么

2015-11-29 13:25:55 413

原创 白书几何模板

/* 白书几何模板 */ const double eps = 1e-10; struct Point{ double x,y;//点的坐标类型自己定 Point(double x = 0,double y = 0):x(x),y(y){} }; typedef Point Vector;//向量就是点的表示 Vector operator + (Vector A,Vector B){

2015-11-26 17:26:30 377

原创 HDU5517 沈阳现场赛 二维树状数组

/* 为b弄一个数组,存放最大的a的个数, vec[i]来存放a,c,d中的c,d以及a,c,d这个元素的元素 然后从大到小枚举a(从小到大好像不可以,因为不知道是上一次a在二维树状中在x,y这个点放了一次还是当前枚举的a在x,y这个点放了一次) 然后二维树状数组判断区域中有无点,再更新,搞定 */ #include #define mem(a,b) memset(a,b,sizeof(a))

2015-11-19 22:21:05 405

原创 dfs序基本类型总结

大致看了下dfs序的题型,大致清楚了大致的解题思路。。。但是对于一些题目还是比较无力。。。。 dfs序比较重要的性质:一棵子树的所有节点在dfs序里是连续一段,主要就是利用这个性质来解题 题型一:对某个点X权值加上一个数W,查询某个子树X里所有点权值和。 解:列出dfs序,实现修改一个数,查询一段序列的和,显然这个序列可以用树状数组维护。 题型二:对X到Y的最短路上所有点权

2015-11-13 16:38:18 4642 2

原创 欧拉函数

/* 欧拉函数:求1~n-1中与n互质的数的个数 另外若gcd(i,n) == 1的花gcd(n - i,n) == 1 */ //直接求解欧拉函数 int euler(int n){ //返回euler(n) int res=n,a=n; for(int i=2;i*i<=a;i++){ if(a%i==0){ res=res/i

2015-11-08 12:30:32 394

原创 CF 593D LCA,贪心

题目链接:http://codeforces.com/problemset/problem/593/D 题意:给你一个含有n个点的树(2 思路:对于询问a,b,找出其公共祖先,然后从任意一点出发向祖先走,走的过程中更新c值。因为边值要等于1,要么大于1。对于所有大于1的边,显然这种边最多走64次可以结束。对于等于1的边,向上递归到边值不为1的点,并把原来点的父亲直接标记到这个点

2015-11-06 15:56:16 336

空空如也

空空如也

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

TA关注的人

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