题目大意:给你n*m的矩形(m >= n)每个节点mp[i][j]有一个权值,从第一行走到最后一行,每一行只准选择一个数且对于i行,所选数的列数要严格大于i-1行选择的列数问你最大权值是多少,并输出选择的n个列数思路:DP方程非常好想:DP[i][j] = max(DP[i][j - 1], DP[...
分类:
其他好文 时间:
2015-07-21 01:16:36
阅读次数:
105
通道:http://acm.hdu.edu.cn/showproblem.php?pid=3377题意:简单路径,从左上角走到右下角的最大权值,不需要每个格子都需要经过。思路:初始化左上角上面那一格有下插头,然后一个不选状态,over.代码: 1 #include 2 #include 3...
分类:
其他好文 时间:
2015-07-12 12:42:55
阅读次数:
130
题目链接:BZOJ - 4033题目分析使用树形DP,用 f[i][j] 表示在以 i 为根的子树,有 j 个黑点的最大权值。这个权值指的是,这个子树内部的点对间距离的贡献,以及 i 和 Father[i] 之间的边对答案的贡献(比如这条边对黑点对距离和的贡献就是子树内部的黑点数 * 子树外部的黑点...
分类:
其他好文 时间:
2015-07-06 21:35:44
阅读次数:
128
题意:n个公司m个任务,每个公司只接受一个任务,每个任务只被一个公司接受,每个公司i接受任务j的做事效率为g[i][j],现在已经分配好了,问怎样改变任务分配可以让效率最大,求出要改动的公司数目和增加的效率。
思路:与hdu3315相似,hdu 3315;若点数为N,则把每条边的权值扩大x倍(x>N),若是原有匹配,则再把权值加1。最后KM算法求出ans,则最大权值之和=ans/x,没有被改动的=ans%x。...
分类:
其他好文 时间:
2015-07-06 18:12:33
阅读次数:
130
250
Description
给你一串数字序列,每次删掉第ii个数,获得权值w[i?1]×w[i+1]w[i-1]\times w[i+1],求最后剩下第一个和最后一个数获得的最大权值和
Solution
简单dp,枚举断点即可
Code#include
using namespace std;
const int N = 55;
typedef long...
分类:
其他好文 时间:
2015-06-05 19:46:53
阅读次数:
101
题意是给你一棵树 n个点 n-1条边 起点是1 每个点都有权值 每次能从根节点走到叶子节点 经行k次游戏 每次都是从1开始 拿过的点的权值不能拿第二次 问最大权值和;
开始看到题时也没想到什么方法 就按照常规的来 结果超时了 试着优化了好多次 最后过了 百度题解说是树链剖分 醉了 还没学!!!
说说我的做法吧 map【i】=a...
分类:
其他好文 时间:
2015-06-02 22:07:40
阅读次数:
145
http://acm.hdu.edu.cn/showproblem.php?pid=5242一棵树有n个结点,n-1条边,每个结点有个权值。每次可以获得从根节点走到叶子结点所有结点的权值和,但是每个结点的权值只能使用一次。求走k次所能获得的最大权值和dfs1求出所有结点到根节点的权值和,然后按从大到小排序,根据这个顺序,dfs2求出每个结点到根节点的权值和,遍历过的结点的权值不能用。
然后再从大到...
分类:
其他好文 时间:
2015-05-31 12:25:25
阅读次数:
103
链接 :http://poj.org/problem?id=1797
题意一开始不太明确,题目是要求找一条链接1——n的一条路,这条路满足权值最大,因为是承载重量要选择,这条权值最大路径中某边的最小权值。当我们按照最大权值生成树构造完毕的时候,肯定任意两点间都有最大权值路径,也就意味着在构造过程中,每次从大到小添加边的时候,添加一旦发现出现了链接1——n的某条路径,那么break,记录下添...
分类:
其他好文 时间:
2015-05-29 14:06:57
阅读次数:
141
http://www.lydsy.com/JudgeOnline/problem.php?id=1036
Description
一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u...
分类:
其他好文 时间:
2015-05-29 13:58:59
阅读次数:
126
这套题是cgy出的,良心的保证啊
275题意:
构造出一棵树,给出每种度数的权值,一棵树的权值是 所有点权和,求最大权值
Solution:
我们可以发现由于是一棵树,所有度数之和一定是2n?22n-2,我们要做的其实就是度数的一个划分,使得权值最大而已,dp一下即可。
Code:#include
using namespace std;
const int...
分类:
其他好文 时间:
2015-05-28 19:59:27
阅读次数:
124