题意:对于一个有向图,问最大团中有多少点,要求该点集内所有点对间至少有一条路径(u到v或v到u或两条都有)。首先,对于每一个强连通分量,其中的所有点必然能够互相到达,所以先进行缩点,然后对于缩点后的 DAG,dp[i] 表示从 i 强连通分量开始能够到达的最多的点数,那么在缩点时需要记录一下每个强连...
分类:
其他好文 时间:
2015-09-10 22:26:25
阅读次数:
197
用把失配边也加到正常边以后AC自动机,状态是长度递减的DAG,每个选一个不会匹配字符的转移。dp[u][L]表示当前在tire树上u结点长度还剩L时候不匹配的概率,根据全概率公式跑记忆化搜索。#includeusing namespace std;typedef double ld;const in...
分类:
其他好文 时间:
2015-09-10 17:17:26
阅读次数:
190
给我们一个有向图,有两个问题1、最少要给多少个点发消息,才能使得所有的点都收到消息(消息可以随边传递)2、最少需要多少条边才能使得图变成强连通图对于一个强连通分量,可以当做一个点来考虑,所以我们可以缩点,然后得到DAG图,那么对于第一个问,即是入度为0的点有多少个,因为入度为0的点无法收到消息。对于...
分类:
其他好文 时间:
2015-09-09 16:33:47
阅读次数:
219
求出家到其他点的最短路径,题目的条件变成了u->v不是回头路当且仅当d[u]>d[v]。然后根据这个条件建DAG图,跑dp统计方案数,dp[u] = sum(dp[v])。#includeusing namespace std;const int maxn = 1001, maxm = 2002;s...
分类:
其他好文 时间:
2015-09-02 20:36:28
阅读次数:
221
给出一个有向图,求一个最大的结点集合,任意两个点u,v。u可到达v或v可到达u。一个强连通分量肯定一起选的。所以先找出所有scc,然后缩点以后跑DAG上的dp。注意0,0这组数据#includeusing namespace std;const int maxn = 1005,maxm = 5e5+...
分类:
其他好文 时间:
2015-09-02 00:32:12
阅读次数:
146
用tarjan找强连通分量,在一个强连通分量点已经等价缩点以后形成一个DAG,计算入度为0的点数a,出度为0的b,取其中大的一个。特判强连通分量数为1的情况。看懂tarjan算法以后还是比较简单的#includeusing namespace std;const int maxn = 2e4+5;c...
分类:
其他好文 时间:
2015-09-02 00:03:56
阅读次数:
163
拓扑排序思维导图也是图的一种拓扑序:如果图中从V到W有一条有向路径,则V一定排在W之前。满足此条件的顶点排序成为一个拓扑序。 V-》W获得一个拓扑序的过程就是拓扑排序AOV如果有合理的拓扑序,则必定是有向无环图(Directed Acyclic Graph,简称DAG)。第一排没有预修课程的课。然后...
分类:
编程语言 时间:
2015-08-30 19:13:52
阅读次数:
294
一、结巴中文分词采用的算法
基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG)
采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合
对于未登录词,采用了基于汉字成词能力的HMM模型,使用了Viterbi算法
二、结巴中文分词支持的分词模式
目前结巴分词支持三种分词模式:
精确模式,试图将句子最精确地切开,适...
分类:
编程语言 时间:
2015-08-29 18:50:49
阅读次数:
483
题目传送门题意:给出一些砖头的长宽高,砖头能叠在另一块上要求它的长宽都小于下面的转头的长宽,问叠起来最高能有多高分析:设一个砖头的长宽高为x, y, z,那么想当于多了x, z, y 和y, x, z的砖头,如果i能叠在j上,那么g[i][j] = true,转换成DAG问题,dp[i]表示第i块叠...
分类:
其他好文 时间:
2015-08-29 12:20:58
阅读次数:
191
1.配置yum源# cd /etc/yum.repos.d/#vi dag.repo写入下列内容#Dag RPM Repository Start[dag]name=Dag RPM Repository for RHEL4baseurl=http://ftp.riken.jp/Linux/dag/r...
分类:
其他好文 时间:
2015-08-28 17:17:25
阅读次数:
699