摘要: 要看清楚题目,节点a控制节点b的要求是看u[b],这样的话就简单好多了。 阅读全文
posted @ 2016-12-20 10:08 fjhok 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 给出一棵树,求黑白染色满足题意的方案数。 最直接的想法:f[i][j][k]表示i子树,下面最远的没有染色的点距离为j,下面最近的有染色的点为k,的方案数。转移比较复杂,要求很高。 那么我们还有什么简单点的方法吗? 优化:如果你这棵子树之中有未被照顾的点,那么你的k也没必要记录了,因为你要别的子树的 阅读全文
posted @ 2016-12-20 10:05 fjhok 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 给出n对情侣以及他们的座位,给他们每人分0和1,情侣之间数字不能相同,顺时针不能有连续三个人有相同数字。 看起来好像很难入手,但是只是一个普通的二分图模型,有连边和求方案的问题都可以尝试思考一下二分图,给每一对情侣连边,关于xor1相邻的座位连边,然后可以证明图中不存在奇环,偶环的黑白染色可以满足题 阅读全文
posted @ 2016-12-20 09:53 fjhok 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 给出一棵树,问两棵不相交的子树的权和最大。 其实很简单,我没必要搞复杂。用普通的dfs,记录一个当前最大子树和t,然后每访问一棵新的树,把当前这棵子树的和加上t来更新答案,当访问完这棵子树的时候再用和来更新s,这样做的正确性在于任意两棵不相交的子树,他们肯定有一个先后的dfs序,那么这样的话先dfs 阅读全文
posted @ 2016-12-20 09:41 fjhok 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 两个操作,取一张红卡和一张黑卡,购买一个东西。问最少多少次操作能够买完所有东西。费用为max(r[i]-A,0)和max(b[i]-B,0)。 简单思路方向:dp,f[mask][i][j]表示,可是好像有点棘手。 技巧:反向模拟过程,假设现在已经买完东西了,枚举上一次买的是什么东西,以同样的方式就 阅读全文
posted @ 2016-12-20 09:26 fjhok 阅读(332) 评论(0) 推荐(0) 编辑