摘要:
【传送门:BZOJ1260】 简要题意: 给出一块长为n的木板,一开始每个位置无颜色,可以对木板进行涂色,对于一个位置,后涂的颜色会覆盖前涂的颜色,给出目标木板,求出最少涂色多少次能够得到目标木板 题解: 区间DP,因为n实在是太小了 f[i][j]表示i到j染成目标木板的i到j的最少涂色次数 转移 阅读全文
摘要:
【传送门:BZOJ3252】 简要题意: 给出一棵树,树上的每个节点都有权值,现在要遍历这棵树的k条链,权值为链上的节点权值和,每个节点的权值只有在第一次被遍历的时候才能用,也就是每个节点遍历两遍只能得到一次的权值,求出最大能得到的权值和 题解: 哇塞,直接就给一棵树,而且输入还直接告诉你两个点的父 阅读全文
摘要:
【传送门:BZOJ1085】 简要题意: 有一个5*5的棋盘,棋盘上有12个白棋子,12个黑棋子,和一个空格,每只棋子只能按照马走日的规则移动,求出最少步数达到以下状态 题解: DFS+A* DFS很容易做,不过时间复杂度太高 所以用A*来优化时间 A*的好处预判当前递归到结束得到的值,从而判断是否 阅读全文
摘要:
【传送门:BZOJ1042】 简要题意: 硬币购物一共有4种硬币。面值分别为c1,c2,c3,c4。某人去商店买东西,去了tot次。每次带di枚ci硬币,买si的价值的东西。请问每次有多少种付款方法 题解: 背包+容斥定理 f[i]表示不限制个数,放满值为i的方案数 因为硬币的值有重复,所以用到容斥 阅读全文
摘要:
【传送门:BZOJ1089】 简要题意: 求出深度为d的严格n元树的个数 题解: %%%Hanks_o f[i]表示深度小于等于i的严格n元树。 那么f[i]怎么用f[i-1]表示呢。 对于任意一个深度为i的严格n元树。 那么它的根一定有n个儿子。 这样我们就可以把它拆成一个根和n棵深度小于等于i- 阅读全文
摘要:
【传送门:BZOJ1060】 简要题意: 给出一棵树和根节点的编号,有一种道具可以使得一条边的权值+1,请问最少改变多少次使得根到所有叶子节点的权值和相等 题解: 首先我们可以确定达到根到所有叶子节点的权值和相等时,这个权值和一定是最大的根到叶子节点的链的权值和 所以我们用树形DP来维护f[i],f 阅读全文