摘要: 神级剪枝。。。 首先这道题有坑点,超过50的木棍不读入。 思想肯定就是爆搜啊!但是直接的爆搜会gg。 接下来是剪枝: 1. 你当然会聪明地取能够整除的答案来枚举嘛。。 2. 这些木棍可以从大到小排序,然后从大到小凑木棍。对答案无影响。 3. 可以记录木棍的最大值和最小值,然后枚举木棍的时候就在这个区 阅读全文
posted @ 2018-08-07 18:05 Garen-Wang 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 紧接着的一道树形dp。 这道题直接告诉你这是一颗树了。叶子节点是客户。 连边要费用,客户会付钱。求不亏本情况下能满足的最大用户。 还是老思路:用 表示第i个节点的子树下,取j个客户的最大值。 还是那个方程: 要不亏本,这个值肯定要大于0嘛。所以逆序搞一搞就好了。 代码: 阅读全文
posted @ 2018-08-07 18:00 Garen-Wang 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 第一道树形dp。挺奇怪的。 这道题选择一个点是有一个先决条件,也就是要先选他父亲的点。 画出草图可以发现就是森林嘛。。。 利用网络流的思想,建立超级根结点,把以0为父亲的都连到root去。 树形dp较线性dp的不同之处就是要dp儿子。 所以在树上要dp之前先弄一下儿子,确保他已经被dp好了就可以了。 阅读全文
posted @ 2018-08-07 14:24 Garen-Wang 阅读(93) 评论(0) 推荐(0) 编辑