21天的一周与无尽的金秋

题目大意:

给出一个长为\(n\leq200\)的序列,\(k\leq50\)种括号,给出每个位置出现对应括号的概率,求最后序列合法的概率

题目解析:

首先不难想到区间DP(Whx:区间DP?你还是too young,我见过的括号匹配的题,不知道高到哪里去了),我们设\(F[i][j]\)为区间\([i,j]\)括号匹配合法的概率,但是如果我们每次枚举中间断点,会出现重复的情况(例如三个括号在两个断点被算两次的情况)。

所以我们先用全概率预处理出位置\(l,r\)出现一组合法括号的概率,然后对于每个区间,枚举它左端点的括号对应的右括号的位置,这样每次枚举的方案一定不重复,所以:$$F[l][r] = \sum_{i=l+1}^r F[l+1][i-1]p[l][i]F[i+1][r]$$

这种方法同样适合其他一些括号匹配Dp问题


题目大意:

给出一个\(n\leq1000\)个点,\(m\leq n^2\)条边的无向连通图,求它的一棵生成树,使得从结点1到任意结点的距离等于在原图中的到这个结点最短距离,要求输出方案数。

题目解析:

首先跑最短路构造出最短路图,问题就变成了图的生成树数。然后有一个玄学的结论:如果我们给每个大于1的点选一个父亲结点,那这个图一定连通!

证明也是不难的,归纳一下即可(问题是根本想不到),于是答案就是每个点前缀点个数之积了。

posted @ 2016-11-04 23:49  Krew  阅读(103)  评论(0)    收藏  举报