- 博客(5)
- 收藏
- 关注
原创 整数划分
1、将n划分成若干正整数之和的划分数: 设dp[i][j]为将i划分为不大于j的划分数 (1) 当i<j 时,i不能划分为大于i的数,所以dp[i][j]=dp[i][i]; (2) 当i=j 时,若划分中含有j只有一种情况,若划分中不含j相当于将i划分为不大于j-1的划分数。此时dp[i][j]=1+dp[i][j-1]。 (3) 当i>j 时...
2019-04-28 14:46:05
2046
1
原创 UVA315
#include<iostream>#include<cstring>#include<algorithm>using namespace std;int n,m,cnt,num;int head[105];int dfn[105];int low[105];int res[105];struct node{ int v; int ne...
2019-04-25 14:54:04
140
原创 Tarjan割点
[定义]:在无向连通图中,如果将其中一个点以及所有连接该点的边去掉,图就不再连通,那么这个点就叫做割点。在无向连通图中,如果将其中一条边去掉,图就不再连通,那么这条边叫桥。[思想]:割点:1)当前节点u为树根的时候,这个节点要有至少两棵子树,否则去掉该节点不会有影响。 2)当前节点u不是树根的时候,要满足low[v]>=dfn[u],注意u是v的父亲 ...
2019-04-25 12:01:23
1140
原创 Tarjan缩点
缩点含义:将一个环缩成一个点,然后把原本环上的点与外界相连的边,接到这个点上面。 就是 tarjan求出的所有强连通分量都变成点,这样有向有环图就变成有向无环图(DAG)。缩点做法:stack栈回溯的时候,环中点的权值都加到最先遍历的点上。 根据回溯时染成的颜色构建新的树。额外知识:将有向有环图变做强连通图 ...
2019-04-24 20:40:20
1280
原创 Tarjan求强连通分量
[算法定义]在有向图中,如果两个顶点至少存在一条路径(可以相互通达),则称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。非强连通有向图的极大强连通子图,称为强连通分量(strongly connected components)。在上图中,{1 , 2 , 3 , 4 } , { 5 } , { 6 } 三个区域...
2019-04-22 21:53:18
5098
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人