随笔分类 - dp
摘要:题目:https://cn.vjudge.net/problem/HihoCoder-1634 题意:给你一个矩阵,可以修改其中一个值为p,让你求最大子矩阵的最小值 我们可以暴力枚举每个点是否修改 当这个点不在最大矩阵内时,一定是它的上下左右的最大子矩阵大 当这个点在最大矩阵内时,可以直接判断
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=5534 题意:让你建立一个n个节点的树,同时给出一个节点有k度的价值 (1<=k<=n-1),问树最大的价值 比较容易相到的dp方程为dp[i][j]表示选到第i个点总共选了j的度数的最大价值 可惜这样是o(
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=5543 题意:给你一块长为L的木板,和n个金条,每个金条有一个长度和价值 只要金条的重心在木板上就可以放上去,但不能重叠,问最多能拿多大价值 很容易想到背包问题,但是题目给出了一定限制 因为最多有2根金条是半
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=5542 题意:给你n个数,求其中上升子序列长度为m的个数 可以考虑用dp[i][j]表示以a[i]结尾的长度为j的上升子序列有多少 裸的dp是o(n2m) 所以需要优化 我们可以发现dp的第3维是找比它小的数
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=5489 题意:给定n个数,求从中删除m个连续的数后,剩下的数中最大上升子序列的大小 我们可以枚举删除的区间 删除后的答案为 以右边第一个开始的最长上升子序列+以左边第一个比它小的数结尾的最长上升子序列 前一项
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=5492 题意:在一个n*m的矩形中找一条从(1,1)到(n,m)的路径,使得方差最小 因为 所以我们枚举平均数就行了 如果我们直接枚举平均数,可能会是小数,所以我们要乘上(n+m-1)以后再枚举
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=2983 题意:将一个n位的数发送,每一位的发送时间为i,但是网络有延迟d,收到时顺序可能会变,求总共有多少种可能性,并且最小和最大分别是多少 最大和最小比较容易求,只需要贪心的将1和0前移或后移 求方案数时,
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1820 题意:给你一个n*n的棋盘,让你放k个象,求方法数 象的攻击路线是斜的,所以我们可以将棋盘旋转45°,这样攻击路线就成了水平,象就变成了车 之后可以发现,如果将棋盘分为黑白格子,黑白棋子之间是无法互相
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=4899 题意:字符集中只有“ATCG”四种字符,现在给你一个字符串S。问长度为m的所有字符串T中,最长公共子序列lcs(S, T) = i的个数,其中 i 取遍0~|S|。|S|为S的长度。 如果我们直接用s
阅读全文
摘要:题目:http://poj.org/problem?id=3378 题意:求满足下列要求的5元组的个数 1. 1 ≤ i < j < k < l < m ≤ N2. Ai < Aj < Ak < Al < Am 学习了一种机智的做法,在范围超longlong不大的时候可以使用2个longlong来避
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=6161 题意:给你一颗二叉树,每个节点的值为自身,接下来有2种操作 query:查询经过该点的路径的最大值 change:将一个点的值改变 官方题解: 考虑dp,f(x)表示从点x开始向下走得到的最大的点权和
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=6170 题意:给出2个字符串,判断能否匹配 第一个字符串为大小写字母,第二个字符串中还有两种符号,‘ .’可以匹配任意字符,‘ *’表示前一个字符可以使用0次或多次 设dp[i][j]为a串的前i个字符可以与
阅读全文