上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 23 下一页
摘要: 很基础的一类题目,要用到01背包问题的思想。ZOJ3201题解含有k个结点的权值和最大的子树。 dp[i][j]表示以i为根的,含有j个结点的最大权值 dp[i][j] = max(dp[i][j],dp[i][... 阅读全文
posted @ 2019-04-14 19:44 月光下の魔术师 阅读(12) 评论(0) 推荐(0)
摘要: luogu1064题解有依赖的背包关系,实际上很好理解。我们只要考虑主件。 有5总状态要考虑。不选主件 只选主件 选主件和附件1 选主件和附件2 选主件和附件1和附件2其它都和01背包一样,只不过现在是多件物品。... 阅读全文
posted @ 2019-04-14 19:17 月光下の魔术师 阅读(10) 评论(0) 推荐(0)
摘要: HDU2476题解首先将空串刷成目标串的最小方案数。 对于abbaa,我们两次就可以搞定。aaaaa-->abbaa,一次性连续刷一段,再刷中间。从头开始一段段刷是最差的方法。 再从给定串刷到目标串的最优方案。代... 阅读全文
posted @ 2019-04-12 09:27 月光下の魔术师 阅读(10) 评论(0) 推荐(0)
摘要: HDU4283题意:第k出场的嘉宾会有(k-1)*d的不满意度。 所以为了让不满意度最小,改变出场顺序,让嘉宾进入黑屋子。 第一个进入的是最后一个出去(堆栈)。题解dp[i][j]表示第i到第j个嘉宾都出场了的最... 阅读全文
posted @ 2019-04-12 09:20 月光下の魔术师 阅读(27) 评论(0) 推荐(0)
摘要: ZOJ3469题解对位置进行排序(包括外卖小哥的),然后求愤怒值的前缀和。 dp[i][j][k]表示送完[i,j]的所有人的最优方案,k = 0表示在i,k = 1表示在j。 dp[i][j][0]可以由dp[... 阅读全文
posted @ 2019-04-12 09:11 月光下の魔术师 阅读(12) 评论(0) 推荐(0)
摘要: CF149D题解首先明确括号的匹配是惟一的。所以用一个栈模拟,用数组match记录左括号对应的右括号的位置。 染色要求是:可以染红或蓝或者无色。 每一对括号有且仅有一个染色。 相邻不能染相同的颜色,但可以都不染色... 阅读全文
posted @ 2019-04-12 08:49 月光下の魔术师 阅读(9) 评论(0) 推荐(0)
摘要: lightoj1042题解dp[i][j]表示第i天到第j天穿的最少的衣服。初始化dp[i][i] = 1(一天必须穿一件),dp[i][j] = inf。 如果第i天和第j天穿的是一件衣服,那么dp[i][j]... 阅读全文
posted @ 2019-04-12 08:40 月光下の魔术师 阅读(6) 评论(0) 推荐(0)
摘要: UVA1331题解dp[i][j]表示从区间[i,j]最大三角形的最小值,中间找一点k。 状态转移为:dp[i][j] = min(dp[i][j],max(getarea(p[i],p[j],p[k]),max... 阅读全文
posted @ 2019-04-12 08:33 月光下の魔术师 阅读(11) 评论(0) 推荐(0)
摘要: POJ2540题解如果比之前更远,那么在两点的中垂线靠近之前的那边,反之另一边。 我们可以找出a和b的终点,在把确定向量ab,根据情况旋转90或270。 如果出现same那就不再计算 了。代码#include #... 阅读全文
posted @ 2019-04-11 08:36 月光下の魔术师 阅读(10) 评论(0) 推荐(0)
摘要: POJ3384题解多边形向内部推进r个单位,判断是否存在半平面交。然后求新的多边形上距离最远的两点。直接暴力,不用旋转卡壳。 注意如果半平面交可能是一个点。代码#include #include #include... 阅读全文
posted @ 2019-04-11 08:14 月光下の魔术师 阅读(9) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 23 下一页