
dp
岛屿失梦°
这个作者很懒,什么都没留下…
展开
-
HDU 6796 X Number
HDU 6796 X Numberinput31 10 11 11 11 100 0output121数位DP+组合数学题意:找到[l,r]符合条件[=d]的数字。[=d]定义为:当前数字中d出现的次数严格最大。e.g.111223为[*=1],112233为啥也不是思路:典型的数位dp虽然想到了,,,但没想到组合数学数位dp:dp[][][]三个维度分别表示当前还剩pos位,题意中的d,和一个长度为10的数组表示pos之前出现的每个数字的次数,这题不仅需要考虑limit还需原创 2020-07-31 00:31:01 · 521 阅读 · 0 评论 -
牛客竞赛-NC13230
区间DP思路:区间DP思路:如果我们用f[i][j][k][l]表示前一个串(a串)的第 i 个字符到第 j 个字符后一个串(b串)的第 k 个字符到第 l 个字符能否组成一个回文串的话,有四种可能,四种当中任意一种为真f[i][j][k][l]就是真。往 a[i+1] 到 a[j−1] 和 b[k] 到 b[l] 构成的串的两端加上 a[i] 和 a[j] 两个字符:f[i][j][k][l] |= (f[i+1][j-1][k][l] & (a[i] == a[j]));往 a[原创 2020-07-09 22:56:32 · 369 阅读 · 0 评论 -
Gym 101606L-计算几何+dp
Lizard Lounge (计算几何+dp)感受到了stl+c++17的强大题目大意:起始点sx,sy还有n个其余的点x,y问以sx,sy为起点的射线中的点的最长上升子序列的个数正常代码写过去了,但感觉不太美观,就整理了下思路,之后就玩了一些好玩的东西思路:【斜率,与sx,sy的相对关系相同】同时满足时,在一条射线上,之后dis近的在前面,跑最长上升子序列即可map的key 维护的是 斜率为二元组pii,与相对关系opval为set集合,存放pii按照第一关键字dis排序看起来很舒服#i原创 2020-05-25 01:39:00 · 228 阅读 · 0 评论 -
牛客OI周赛15-提高组 C回到过去
牛客OI周赛15-提高组 C回到过去双dp+2进制压缩题目描述n个物品,想要权值和为mm。当哪些种类的物品不选时,一定不能使权值和为mm。思路f[i][j]表示前i个物品权值和为j是否可行。g[i][j]表示后i个物品权值和为j是否可行。枚举不选的种类。然后将f数组和g数组合并一下即可。100%数据范围 做多只用450种物品,(因为权值和最大1e5+5)所以可以用类多重背包的二进制优...原创 2020-04-05 23:15:38 · 218 阅读 · 0 评论 -
牛客OI周赛15-提高组 A 环球旅行(树形dp)
牛客OI周赛15-提高组 A 环球旅行树形dp+树的直径题目大意:删除一条边后剩下的子树中树的直径最大值最小.求此最小值现场赛差点搞出来 ,呜呜呜思路:可证删除的这条边肯定在原树的直径上,两遍dfs确定树的直径的起点和终点,这样问题转化为删除一条边剩下的求俩个子树中直径的,可以两遍dfs分别从st,en开始ans[u][0]表示从st开始向下遍历后 如果u为断点的直径的最大值ans...原创 2020-04-04 23:42:41 · 271 阅读 · 1 评论 -
hdu4507(恨7不成妻)数位DP
hdu4507(恨7不成妻)数位DP+求平方和传送门题目大意:如果一个整数符合下面3个条件之一,那么我们就说这个整数和7有关—— 1、整数中某一位是7; 2、整数的每一位加起来的和是7的整数倍; 3、这个整数是7的整数倍;询问区间[l,r]不符合条件数字的立方和思路如果求询问区间[l,r]不符合条件数字的个数就是普通的数位dp,但此题需要维护立方和。所以开个结构体{cn...原创 2020-03-21 15:44:07 · 298 阅读 · 0 评论 -
hdu4352 (数位dp+状态压缩)
HDU 4352 XHXJ’s LIS传送门题目描述:给定一个区间中,将区间的每一个数看成一个字符串,求这个区间内每个字符串的最大上升子序列等于k的个数。思路:dp[pos][sta][k]pos:搜索到第几位sta:之前的最长上升子序列的状态。k:就是输入的那个k牛逼的地方:sta储存为0-9每个数字的状态 类似最长上升子序列更新方式。sta二进制下1的个数就是当前最长上升...原创 2020-03-20 17:08:48 · 346 阅读 · 0 评论