这个没有考虑过多东西的代码也是AC了。 1 #include 2 #include 3 #define limit 110 4 using namespace std; 5 6 vector vect[limit]; 7 int n,m; 8 bool vis[limit]; 9 int bu...
分类:
其他好文 时间:
2015-01-22 14:58:32
阅读次数:
115
题目地址:http://codeforces.com/contest/500/problem/D
这题是要先求出每条边出现的次数,然后除以总次数,这样期望就求出来了。先用树形DP求出每个边左右两端总共有多少个点,然后用组合数学公式就可以推出来了。
代码如下:
#include
#include
#include
#include
#include
#include
#includ...
分类:
Web程序 时间:
2015-01-22 11:06:33
阅读次数:
283
题目大意:从 1 号点出发,每次经过一个点,就可以得到点上的所有苹果,走m步,求能够得到的苹果最大数量这里用dp[u][j] 表示 从u号点出发走 j 步后回到u点能得到的苹果最大数量用ans[u][j] 表示从 u 号点出发走 j 步不一定回到u点能得到的苹果最大数量(包括了dp[u][j]的情况...
分类:
其他好文 时间:
2015-01-20 17:12:58
阅读次数:
166
题目大意:一颗苹果树上,每条边都对应了一个权值,最后留下包括root : 1在的含有 m 条边的子树 , 希望留下的子树中权值之和最大这里保留m条边,我们可以看作是保留了 m + 1 个点令dp[u][j] 表示 u 为根的子树中包含了j个点的子树中得到的权值最大和状态转移方程:dp[u][j] =...
分类:
其他好文 时间:
2015-01-20 17:12:16
阅读次数:
153
想了半天,总算想出来了。这题刚上来的思路很明显是11维DP。。但是明显不可取。。
这题的关键在于只要两个数前面的拥有的数字是一样的,而且此时与其最小公倍数的模是一样的,那么这时候就可以认为对所有的数字取模都是相等的,那么后面的总情况数属于完美数的情况也是相同的。
只要想到这步的话,那么基本思路就出来了,我第一次居然脑残的记录lcm与模2520(2到9的最小公...
分类:
其他好文 时间:
2015-01-19 22:47:04
阅读次数:
286
题目大意是:所有点在一个连通图上,希望去掉一条边得到两个连通图,且两个图上所有点的权值的差最小,如果没有割边,则输出impossible这道题需要先利用tarjan算法将在同一连通分量中的点缩成一个点后,重新构建一幅图,然后利用新建的图进行树形dp解决问题这道题目需要注意的是可能存在重边,那么子节点...
分类:
其他好文 时间:
2015-01-19 22:23:14
阅读次数:
215
题目大意:根据n个城市,设置n-1条有向边,希望设定一个中心城市,能通过修改一些道路的方向到达任何一座城市,希望修改的道路数量最少输出这个最少的道路数量,并且把所有符合的可作为中心的城市编号一个个输出来开始也实在想不出,根据树形dp,首先要确定一棵树,可是这里的边乱七八糟的,没法确定根后来看了别人的...
分类:
其他好文 时间:
2015-01-19 01:37:50
阅读次数:
264
题目大意:根据两个点建立一条有向边,最后可形成的是一棵树,希望通过切除一些边,使一棵含有p个节点的子树被独立出来,希望切除的边数最少,输出这个边数这个是第一次自己完完整整做出来的树形Dp题目,没有参考别人的DP思路,虽然自己很快想好了,但是总是无法合适的进行组织,做了很久,但自己做出来的总是会比取理...
分类:
其他好文 时间:
2015-01-18 22:31:20
阅读次数:
224
这是自己第一道背包上树形结构问题,不是很理解这个概念的可以先看看背包九讲自己第一次做,看了一下别人的思路,结合着对简单背包问题的求解方式自己一次AC了还是有点小激动的题目大意是:攻克m个城市,每个城市都有对应数量的宝贝,攻克某一个城市必须保证其对应的某一个特定城市已经被攻克,希望得到最多数量的宝贝很...
分类:
其他好文 时间:
2015-01-18 17:05:13
阅读次数:
200