08 2015 档案
摘要:题目大意:求树中每个点到所有叶子节点的距离的最大值是多少。思路: 这个题用两边dfs就可以,一遍是求当前点到子树那个方向上的最大值和次大值,另外一遍是父亲方向上的最大值。之所以要求子树方向上的次大值,是因为如果求当前点v的最长的距离的时候,子树里面的显而易见可以求出来,但是父亲方向上的就不确定了,如...
阅读全文
摘要:大意:有一个队列,每个人有一个愤怒值D,如果他是第K个上场,不开心指数就为(K-1)*D。但是边上有一个小黑屋,可以一定程度上调整上场程序,求最小的愤怒值之和思路: dp[i][j]表示i->j这个区间的最优解,也就是最小值,考虑第i个人,他一共有j - i + 1中上场方式,可以第一个,第二个.....
阅读全文
摘要:题意: 给定两个字符串,让求最少的变化次数从第一个串变到第二个串思路: 区间dp, 直接考虑两个串的话太困难,就只考虑第二个串,求从空白串变到第二个串的最小次数,dp[i][j] 表示i->j这个区间上的最优解,那么dp[i][j] = min(dp[i + 1][j], dp[i + 1][k] ...
阅读全文
摘要:题目大意: 给定一个序列,删除这个序列当中的一些数字,两头的不能删,每删一个价值是当前这个数的数值乘以两边的数值,到最后删到只剩两头的数,问怎么删除总价值最小。思路:这个题和最有矩阵连乘是一样的。用dp[i][j]来表示从第i个位置到第j个位置这段序列的最小价值。考虑k(i#include #inc...
阅读全文
摘要:题目大意: 给你n天要穿的衣服,可以套着穿,但是一旦脱下来就不能载穿了,问n天至少需要多少衣服?做了两个关于区间dp的题,遇到这个题还是不会做,网上搜了一下,感觉也不难,就是自己想不起来。。。思路:dp[i][j]表示从第i天到第j天至少需要多少衣服,那么dp[i][j] = dp[i + 1][j...
阅读全文
摘要:这道题目是经典的凸包的最优三角剖分,不过这个题目给的可能不是凸包,所以要提前判定一下是否为凸包,如果是凸包的话才能继续剖分,dp[i][j]表示已经排好序的凸包上的点i->j上被分割成一个个小三角形的最小费用,那么dp[i][j] = min(dp[i][k]+dp[k][j]+cost[i][k]...
阅读全文
摘要:这道题算是区间dp的入门题目了。题目让求一个最长的合法的括号序列长度,直接记忆化搜索的话比较好想,但是代码有点长,如果写成递推式那么代码就会精简好多。状态转移方程:dp[i][j]表示从i到j能构成的最长长度如果i位置和j位置配对的话,那么dp[i][j] = dp[i + 1][j - 1] + ...
阅读全文
摘要:题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1058很巧妙的一个递推,因为只有2,3,5,7构成,那么后面的数一定是2,3,5,7的倍数,所以可以直接枚举那个最小,用四个变量来维护2,3,5,7分别算到几了。dp【i】 = min(2 * dp[p2]...
阅读全文
摘要:本文转载自http://blog.csdn.net/shuangde800/article/details/11273123题意你有k个一模一样的水球,在一个n层楼的建筑物上进行测试,你想知道水球最低从几层楼往下丢可以让水球破掉。由于你很懒,所以你想要丢最少次水球来测出水球刚好破掉的最低楼层。(在最...
阅读全文
摘要:树形dp,意思就是在树上的dp, 看了看紫书,讲了三个大点把,一个是树的最大独立集,另外一个是树的重心,最后一个是树的最长路径。给的三个例题,下面就从例题说起第一个:工人的请愿书 uva 12186这个题目给定一个公司的树状结构,每个员工都有唯一的一个直属上司,老板编号为0,员工1-n,只有下一级的...
阅读全文
摘要:http://wenku.baidu.com/link?url=WFI8QEEfzxng9jGCmWHoKn0JBuHNfhZ-tKTDMux34CeY8UNUwLVPeY5HA3TyoKU2XegXFPifjunarW-YmXFrP_m8-3DEhBu1MHxHghHqD0O这篇讲的比较好,准备一...
阅读全文
摘要:问题一:矩形嵌套问题: 给定n个矩形,每个矩形有个长和宽,只有当一个矩形的长宽小于另外一个矩形的长宽时,才能嵌套在另外一个矩形内部。求出尽量多的矩形排成一行,嵌套的矩形数目最多。这个问题其实就是求最长上升子序列,只不过比较大小的时候变成了比较两个变量。#include #include #inclu...
阅读全文
摘要:#include #include #include #include #include #include using namespace std;typedef long long ll;const int maxn = 20;ll exgcd(ll a, ll b, ll &x, ll &y){...
阅读全文
摘要:这个题乍一看跟剩余定理似的,但是它不满足两两互素的条件,所以不能用剩余定理,也是给了一组同余方程,找出一个X满足这些方程,如果找不到的话就输出-1因为它不满足互素的条件,所以两个两个的合并,最后合成一个。题目给定的是M % m1 = r1M % m2 = r2......M % mn = rn只需将...
阅读全文

浙公网安备 33010602011771号