摘要:
题意 给$n$个宝石,每个宝石都有重量与价值,求总重量不超过$W$时的最大价值。$W\leq 2^{32}$ 保证每个宝石的重量都可以被表示为$a 2^b$的形式。 思路 分组背包,对$b$分组,在每一组内跑01背包。 每一组之间的转移有$f[i][j]=max(f[i][j],f[i][k]+f[ 阅读全文
posted @ 2019-08-20 19:05
Ilverene
阅读(163)
评论(0)
推荐(0)
摘要:
题意 FJ要买一个东西,他有$n$种货币,每种货币价值为$v_i$,数量为$c_i$,而商店老板每种货币都有无限个。求交付硬币数与找零硬币数之和的最小值。 题意 对于FJ,此题拆成01背包跑就可以过了;对于老板,跑完全背包。 代码 cpp include using namespace std; n 阅读全文
posted @ 2019-08-20 18:51
Ilverene
阅读(148)
评论(0)
推荐(0)
摘要:
题意 有一堆牛,每个牛有重量$w$与质量$t$,现在从中选出若干头,满足: 1. 重量总和不小于给定的$W$。 2. 质量总和除以重量总和最大。 求最大的商。 思路 01分数规划裸题,但是数据太水,可以大力乱搞。 子状态$dp[i][w]$表示选第$i$个之后离达到重量$W$距离为$w$的情况的最大 阅读全文
posted @ 2019-08-20 13:01
Ilverene
阅读(254)
评论(0)
推荐(0)
摘要:
题意 给定一颗无根树,可以在上面放置恰好$k$个监听器,与监听器相连的节点被监听,但监听器本身不会被监听。 要求监听所有节点,求方案数模1e9+7。 思路 状态略有毒瘤之处的树上dp。 子状态为$dp[n][k][0/1][0/1]$表示在以$n$为根的子树中选择了$k$个节点,其中是否选择$n$, 阅读全文
posted @ 2019-08-20 13:01
Ilverene
阅读(289)
评论(0)
推荐(0)