自定义博客皮肤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)
  • 收藏
  • 关注

原创 深夜敲模板_4——无向图的割顶和桥

/*** dfs遍历一遍整个图,标出时间戳 dfs_clock,保存在pre[]里 遍历后得到一个森林 对于每一颗树,每个节点是割顶的情况: 1:根: 有两个或两个以上的子节点 2:非根: 对于节点u,low(u)表示u及u的所有节点的反向边所能连回的最早的节点的pre[]值 如果u的所有子节点的

2015-04-21 00:16:22 415

原创 深夜敲模板_3——树的点分治(poj1741解题报告)

具体算法可以看 2009 年的漆子超的论文 以合法点对为例: 进行分治,由于每次找的是重心,深度做多是log(n)。 大体来说就是 1:先找到该该数的重心,只需要把数遍历一遍就好了。复杂度:o(n) 2:计算各个节点到重心的距离。复杂度:o(n) 3:对重心距离进行排序,然后计算d[i]+d[j] 所以总的复杂度为o(n*log(n)*log(n)) #include

2015-04-15 23:51:43 411

原创 poj_1741——树的分治

看了网上各种大神的树的分治的模板,然后自己敲了一个。。。直接上代码了,晚上再写一个学习笔记, 丧心病狂的poj,上次一直跪在vector上,这次觉得不用vector写了。。。 #include #include #include #include #include #include #include #define ll long long #define INF 1<<30 u

2015-04-15 18:00:39 348

原创 深夜敲模板_2——并查集

蓝桥杯才发现图论好久不碰了,果然全忘了。。。毕竟当时可能学得不精。。。现在来补一下。。。 const int N = 100+5; int n,m; int fa[N];///保存各个节点的根节点 struct edge{ int u,v;///边的两端 int w;///边的权值 }e[N*N]; bool cmp(edge a,edge b){ return a.

2015-04-14 20:20:11 284

原创 深夜敲模板_1——快速幂 && 矩阵的快速幂

快速幂: ///a^n%m int quickpow(int a,int n,int m){ int ans=1; while(n){ if(n&1) ans = (ans*a)%m; a = (a*a)%m; n>>=1; } } 矩阵的快速幂: ///用结构体保存一个矩阵 struct Matrix{

2015-04-13 00:53:18 496

原创 POJ3321 线段树,树状数组 建树经典题

这道题的意思是求一个结点的子树和(包含这个结点),操作只有两个,查询,和单点修改。容易想到用线段树来维护,怎么构建线段树是个问题。这道题正好学习了一下,dfs来遍历一遍,那么每一颗子树对应的新的结点的值都是连续的,我们遍历返回这个子树的最大值最小值,也就是要查找的范围。这道题在poj上提交有点小问题,用习惯了vector,居然被t掉了。。。换成了手写的邻接表就能过。。。下面上代码,一开始用的线段树

2015-04-01 23:54:11 688

空空如也

空空如也

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

TA关注的人

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