- 博客(3)
- 收藏
- 关注
原创 hdu 4424 Conquer a New Region 并查集+思维
题意: 树形结构,选出一个点,这个点到任何一个其他点 路径上 的最小边权 最大的 和是多少。做法:根据边权排序, 每次合并最大边权的两个点。 两个点各在一个集合,dian表示这个集合有多少点,dis表示这个集合内部 某个点 到其他所有点的 路径上的 最小边权 的最大和。u_是u 所在集合的祖先,如果以u_为合并后的祖先,那么把dian[u_]更新为两个集合的点和,当前枚举的边肯定比之前的边要小,所以 dis[u_] = dian[v_]*w+dis[u_]。把 以v_为祖先 所得的 答案作比较, 取答
2015-10-11 09:18:03 950
原创 FZU 2200 cleaning dp+预处理
做法:dp 一维,第几个人,第二维是已经选了几个人,第三维是当前的状态,0 表示当前这位没选,前一位也没选,1表示当前这位没选,前一位选了,2,3类似。枚举开头两个人的状态,然后预处理dp ,当处理到 i+2 的时候,如果状态和开始枚举的一样,就把值加进real[i]中。预处理出来的real就是最后的答案
2015-10-06 19:13:34 677
原创 FZU 2204 7 dp+预处理
做法 :dp 一维记录 轮到第几个点了,二维记录 当前连续最长有几个黑色,或者白色,第三维记录 黑色还是白色。枚举开头是黑色的话,枚举有几个黑的,然后dp过去。对于每个i,当末尾和开头黑色的合 不超过6, 就把答案加到real里面。把所有答案预处理出来。
2015-10-06 19:04:22 680
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人