随笔分类 - dp
摘要:N - Slimes 原题链接:https://atcoder.jp/contests/dp/tasks/dp_n 题目大意: 石子合并问题。 解题思路: 区间dp就是先维护小区间,在扩展到大的区间。 代码: 1 #include <bits/stdc++.h> 2 using namespace
阅读全文
摘要:O - Matching 原题链接:https://atcoder.jp/contests/dp/tasks/dp_o 题目大意: 有n个男人,n个女人,然后一男一女组合,其中一个二维矩阵a[i][j]记录第i个男人,与第j个女人能不能组合,求有多少种组合方式。 解题思路: 状压dp:用一个n为二进
阅读全文
摘要:P - Independent Set 原题链接:https://atcoder.jp/contests/dp/tasks/dp_p 题目大意: 给一棵树,用黑白两色给节点染色,其中两个相邻节点不能同为黑色,求染色的所有方法。 解题思路: 树形$dp$,建一个二维数组$dp$,$dp[i][j]$为
阅读全文
摘要:Q - Flowers 原题链接:https://atcoder.jp/contests/dp/tasks/dp_q 题目大意: n支花,第i支花的高为w[i],价值为v[i],其中每支花的高度都不相同,范围在1到n。求从给定的花的序列中找到一段高度递增的子序列,求这段子序列的价值最大值。 解题思路
阅读全文
摘要:R - Walk 原题链接:https://atcoder.jp/contests/dp/tasks/dp_r 题目大意: 给一个有向图,求经过k条边的路径个数(允许重复)。 解题思路: 倍增folyd算法,求解一个图中经过k条边的路径最大距离或最小距离或经过k条边的路径有多少个时要用到,也叫做矩阵
阅读全文
摘要:S - Digit Sum 原题链接:https://atcoder.jp/contests/dp/tasks/dp_s 题目大意: 给一个n,求从1到n的数中,所有位上的数字之和能被m整除的个数。 解题思路: 数位$dp$,建一个三维数组,$dp[i][j][k]$,其中,$i$代表第几位,j代表
阅读全文
摘要:Monkey and Banana 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1069 题目大意: 研究人员有$n$种类型的砖块,每种类型的砖块都有无限个。第i块砖块的长宽高分别用$xi,yi,zi$来表示。 同时,由于砖块是可以旋转的,每个砖块的
阅读全文
摘要:Max Sum Plus Plus 原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1024 题目大意: 给一个$n$个元素的数组,允许选择$m$个连续区间,区间无重叠,求这$m$个区间的元素和最大值。 解题思路: 可以计算取一段区间,取两段区间,再到取
阅读全文

浙公网安备 33010602011771号