
dp
文章平均质量分 79
varinic
这个作者很懒,什么都没留下…
展开
-
hdu CA Loves GCD dp
#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;const int MAXN=1000;const ll INF=1e9;原创 2016-04-04 13:52:06 · 379 阅读 · 0 评论 -
sdut 2604 Thrall’s Dream 判断一个图是否单侧连通
题意:给你一个有向图,问这个有向图中任何一对结点间,至少有一个结点到另一个结点是可达的。实际上就是判断一个图是否单侧连通。做法很简单,先强连通分解,然后在新建的图中找一条最长的链,如果这条链包含所有点,那原图就是单侧联通的,否则就不是。那如何找最长链呢,很简单因为新建的图是DAG,所以最长链的长度=最长路。而对DAG求最短路最长路都是可以用dp高效求解的。时间复杂度o(n+m)原创 2016-04-26 16:45:53 · 1695 阅读 · 0 评论 -
FZU 2218 Simple String Problem
题目大意: 给你n个字符,这n个字符是由字母表前k个字符组成的。问两个区间,这两个区间所含字符种类不同,输出两个区间最大乘积。令b[ sta ]为sta所能取的最大值,dp[ sta ]为sta及其子集所能取的最大值,转移方程 dp[ sta]=max(b[sta],dp[ sta最大真子集 ])。那么sta^(1#include#include#incl原创 2016-04-19 21:28:44 · 449 阅读 · 0 评论 -
hdu 5834 Magic boy Bi Luo with his excited tree 树形dp
题目大意:给你一棵树,每个点都有权值,每条边也有权值,从一个点出发,获得点值,走过一条边付出边值,点值只能获得一次,边值走一次付出一次。问从每个点出发,可以获得的最大价值。每个点记录从这个点出发又回来的最大值re[x],以及从这个点出发最终往一个方向走的最大值ans[x][0]。第一次dfs还要记录下最优值ans[x][0]、次优值ans[x][1],以及最优值是往那条边走的f[x][0]。第原创 2016-08-22 10:35:05 · 573 阅读 · 0 评论