我是菜鸡,我是菜鸡,我是菜鸡。。。。重要的事说三遍算是第一次做树形dp的题吧,不太难。。园林构成一棵树,root为1,Hi从root出发,有k个园林必须玩,每个园林游玩后会得到权值w[i],最多玩M个园林。经过的园林必须玩,问可得到的最大权值和。题目链接:http://hihocoder.com/p...
分类:
其他好文 时间:
2015-12-19 16:30:19
阅读次数:
245
只需要把费用流的Spfa中的小于号改一下就好了,对于题目中要求要飞过去在飞回来,只需要一律把边的方向定为从顶点编号较小的向顶点编号较大的,把顶点1和n的边的容量定为2,其余边为1即可。#include #include #include #include #include #include #inc...
分类:
其他好文 时间:
2015-11-26 10:46:46
阅读次数:
175
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=175801分数规划,所以我们对每个重心进行二分。于是问题转化为Σw[e]-mid>=0, 对于一棵子树维护点的dep,dis,并用队列q存下来。令mx[i]表示当前dep为i的最大权值,维护一个单...
分类:
其他好文 时间:
2015-11-22 13:58:44
阅读次数:
158
发现二分图有些知识老是忘记(理解了,还没有完全贯通),于是写本日志,以备忘,也供其他同学参考。定义:二分图中,顶点可以分为两个集合X和Y,每一条边的两个顶点都分别位于X和Y集合中。最大匹配:二分图中最大数量边的集合,且集合中的任意两条边没有公共点。最优匹配:二分图中最大权值和边的集合,且集合中的任意...
分类:
其他好文 时间:
2015-11-19 22:37:59
阅读次数:
186
题目大意:给定一个n个点n-1条的连通无向图,求从任意一点出发,在不重复经过同一点的情况下,所能走过的的边的最大权值。解题思路:深度优先搜索。 1 #include 2 #include 3 using namespace std; 4 5 struct Edge { 6 int to...
分类:
其他好文 时间:
2015-10-14 14:09:49
阅读次数:
159
题目大意: 给你一个n个节点,m条边的图,然后,给出q个询问,让你找出一条从u到v的路径中所经过的最大权值最小的路径权值。解题思路: 直接使用floyd的变形来做。 e[i][j] = min(e[i][j],e[i][k]+e[k][j])---->e[i][j] = min(e[i][j]...
分类:
其他好文 时间:
2015-10-07 01:04:04
阅读次数:
176
KM算法 二分图最大权值匹配#include #include#include#includeconst int maxn = 356;const int INF = (1 t) slack[y] = t; } return false; }i...
分类:
其他好文 时间:
2015-09-26 21:18:31
阅读次数:
261
题意:一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问从点u到点v的路径上的节...
分类:
其他好文 时间:
2015-09-22 23:21:46
阅读次数:
199
题意:给n个节点m条带权值边的无向图。然后q个问题,每次询问点对的数目,点对需要满足的条件是:1)连通;2)其路径的最大权值不能超过询问值。分析:如果没次询问一次,dfs一次,很可能超时,因此可以用并查集。离线处理,把边按权值排序,把问题按大小排序。然后离线的过程就是不断向图中加边的过程。比如样例如...
分类:
其他好文 时间:
2015-09-14 23:59:20
阅读次数:
411
//n个物品 , 容量为m
//每个物品1个占用空间为w
//如果第i个物品选了k(k>0)个,所得权值为k*a+b
//求最大权值
//多重背包 , 需要用二进制数优化
#include
#include
#include
using namespace std ;
const int maxn = 2010 ;
int dp[maxn][maxn] ;
int main()
{
// ...
分类:
其他好文 时间:
2015-08-29 20:16:19
阅读次数:
158