上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 26 下一页
摘要: 题目 传送门 思路 比较显然的一点,这道题对于一个方案,所有出现的数字的最小出现次数是有单调性的 考虑二分出所有出现数字的最小出现次数 设$dp[i][j]$表示前i个数,已经达到目标状态的数的状态为j 因为题目中要求数是连续的 所以我们只需要考虑接下来的一段全部是哪一个数字即可,用这一点进行转移 阅读全文
posted @ 2020-08-09 15:34 loney_s 阅读(173) 评论(0) 推荐(0)
摘要: 题目 传送门 思路 对于所有的变化,我们发现最多只有4*4 考虑$dp[i][j]$表示前i个数,i,i-1,i-2,i-3的状态为j的最小方案数 对于转移而言,其实我们只需要将所有的操作矩阵的左上角保证在i-3行即可 感觉这道题更像一个暴力 代码 #include<iostream> #inclu 阅读全文
posted @ 2020-08-09 15:30 loney_s 阅读(102) 评论(0) 推荐(0)
摘要: 题目 传送门 思路 经过打表可以发现,出现的最大值最大只能为20, 我们设$dp[i][j]$表示最后一刀切在i和i+1之间,已经有的状态为j 转移的话暴力枚举接下来的一个区间即可 考虑到要舍去第一刀前面的内容,所以对于所有的$dp[i][0]$都要赋上1的初值 最后的答案即为$\sum_\sum_ 阅读全文
posted @ 2020-08-09 15:26 loney_s 阅读(110) 评论(0) 推荐(0)
摘要: 题目 传送门 思路 首先我们考虑如果只有$x$和$.$该如何去做 设$dp[i][j]$表示前i列,第i列的状态为j,前i-1列均被填满的方案总数 先考虑横着放 对于$dp[i][j]$这个状态,那么必须先将其中的0填满,再先外转移,同时要保证骨牌是横着放对$dp[i+1][j']$是合法的 再考虑 阅读全文
posted @ 2020-08-09 15:07 loney_s 阅读(157) 评论(0) 推荐(0)
摘要: 题目 传送门 思路 很容易就能将其转换成一个树上的问题, 这道题的题面就已经有一点像背包问题了,但是如果直接用背包的话,时间复杂度就会卡在容量那一层 所以我们换一种思路$dp[i][j][0/1]$表示以i为根节点的子树,买了j个物品,i是否使用优惠券,所使用的的最小金额 这个转移相信读者都会,下面 阅读全文
posted @ 2020-07-31 12:43 loney_s 阅读(102) 评论(0) 推荐(0)
摘要: 题目 传送门 思路 这道题的难点主要在于模型的转换 我们首先考虑一颗树的如果有唯一最大匹配会满足什么条件 每一个叶子是一个被匹配到的(这应该不难证明吧) 接着我们考虑将每一对匹配的节点删去,那么最后一定不会剩下任何节点(你可以平移的思想去证明) 当然,还是有唯一的例外的,这个树只有一个节点 接着我们 阅读全文
posted @ 2020-07-31 12:36 loney_s 阅读(139) 评论(0) 推荐(0)
摘要: 题目 传送门 思路 我们考虑交换两个子树的访问顺序会导致什么 设$w[i]$为以i为根节点的子树内部所有的边权和加上i到i的父亲的边权 设$siz[i]$为以i为根节点的子树内部有多少个点 如果i在j前面,所提供的的多的贡献为 \(w[i]*siz[j]\) 如果j在i前面,所提供的的多的贡献为 \ 阅读全文
posted @ 2020-07-31 12:28 loney_s 阅读(127) 评论(0) 推荐(0)
摘要: 题目 传送门 思路 我们考虑即使是枚举路径也是$n^2$级别的复杂度 所以我们反过来考虑每一个点的贡献是什么 情况1 这个点直接连向儿子节点 此时的计算即为$siz[u]*val[u]$ 情况2 考虑子树内的一条链跨过他到了子树内的另一点 这个时候也是比较好算的,我们只需要知道每一个点到他的时候, 阅读全文
posted @ 2020-07-31 12:24 loney_s 阅读(152) 评论(0) 推荐(0)
摘要: 题目 传送门 思路 一个括号其实就相当于一个子树 也就是这是一个树形DP的题 这题的难点也在于转换,DP并不是很难 $dp[i][j][0/1]\(表示以i为根节点的子树,用了j的\)-/+$之后的最大/最小值 用类似于背包的方程去转移其即可 代码 #include<iostream> #inclu 阅读全文
posted @ 2020-07-31 12:15 loney_s 阅读(120) 评论(0) 推荐(0)
摘要: 题目 传送门 思路 算法一 直接暴力进行求解,时间复杂度$O(n^2log_n)$ 看上去很大,其实可以直接过,给的代码也是这个暴力的代码 算法二 口胡警告 我们考虑一个LIS一定会跨过某一个子树的根节点 所以我们考虑设$dp1[i][j]$表示以以i为根节点的子树,可以跨过i节点与其他序列组合的上 阅读全文
posted @ 2020-07-31 11:57 loney_s 阅读(172) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 26 下一页